大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
今天,跟大家谈一下用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 lianxi\income.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 lianxi\income.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 lianxi\income.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 lianxi\income.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 lianxi\income.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 lianxi\income.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~
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186665.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...