利用python读取Excel文件内容
今天,跟大家谈一下用python计算Excel中的数据
我们先学习读取Excel中的数据 首先我们要安装xlrd库,在命令提示符(快捷键win+r)中输入:
pip install xlrd
下载完成xlrd库。
首先呢,当然要先有一个Excel啦,如下:
我们先仔细观察这个Excel,里面有2018、2017、2016的月收入
来来来,跟着小哥哥一起月入3w!
1、利用python读取Excel内容
xrld库中的open_workbook函数可以打开Excel文件,并且返回一个代表打开Excel文件的Book对象。
接下来,我们就可以利用Book对象得到Excel的信息。 如下,读取文件中的表单数量及名称:
import xlrd #读取文件的地址 book = xlrd.open_workbook("e:python lianxiincome.xlsx") print(f"包含表单数量 {book.nsheets}") print(f"表单的名分别为: {book.sheet_names()}")
读取的结果如下:
包含表单数量 3 表单的名分别为: [2018, 2017, 2016]
想要读取某个表单的单元格数据,首先要获取表单对象(sheet) 方法如下:
# 表单索引从0开始,获取第一个表单对象 book.sheet_by_index(0) # 获取名为2018的表单对象 book.sheet_by_name(2018) # 获取所有的表单对象,放入一个列表返回 book.sheets()
当然啦,我们也需要知道表单中的一些属性:
表单行数(nrows) 列数(ncols) 表单名(name) 表单索引(number)
代码如下:
import xlrd book = xlrd.open_workbook("e:python lianxiincome.xlsx") #sheet为索引为0,即2018的 sheet = book.sheet_by_index(0) print(f"表单名:{sheet.name}") print(f"表单索引:{sheet.number}") print(f"表单行数:{sheet.nrows}") print(f"表单列数:{sheet.ncols}")
运行结果如下:
表单名:2018 表单索引:0 表单行数:13 表单列数:2
现在,我们已经能够准确定位到一个具体的表单,接下来就要获取具体的单元格数据啦!
2、获取单元格数据
使用cell_value 方法,有两个参数:行号和列号,用来读取指定的单元格内容。
import xlrd book = xlrd.open_workbook("e:python lianxiincome.xlsx") sheet = book.sheet_by_index(0) #选取行号、列号都是1的 print(f"单元格A2的内容是:{sheet.cell_value(rowx=1,colx=1)}")
运行结果如下:
单元格A2的内容是:30103.0
除了上述方法之外,如果想要读取一行的数据,可以使用row_values方法,参数为行号。 代码如下:
import xlrd book = xlrd.open_workbook("e:python lianxiincome.xlsx") sheet = book.sheet_by_index(0) #行号、列号从0开始 print(f"第一行的内容是:{sheet.row_values(rowx=0)}")
运行结果如下:
第一行的内容是:[月份, 收入]
当然啦,除了行号,我们也可以使用列号查看单元格数据。列号使用col_values方法,参数为列号。
代码如下:
import xlrd book = xlrd.open_workbook("e:python lianxiincome.xlsx") sheet = book.sheet_by_index(0) print(f"第一列的内容是:{sheet.col_values(colx=0)}")
运行结果如下:
第一列的内容是:[月份, 1.0, 2.0, 3*, 4.0, 5.0, 6.0, 7*, 8.0, 9.0, 10.0, 11.0, 12.0]
学会了上面的方法之后,我们就可以完成一些数据处理啦,比如计算表单为“2018”的全年收入。 代码如下:
import xlrd book = xlrd.open_workbook("e:python lianxiincome.xlsx") sheet = book.sheet_by_name(2018) incomes = sheet.col_values(colx=1,start_rowx=1) print(f"2018年收入为:{sum(incomes)}")
运行结果如下:
2018年收入为:361302.0
代码之路千千万,头顶之发皆可无。 555~
下一篇:
java的抽象方法和抽象类