读取 Excel
不知道大家有没有看过Python操作Excel的广告。小编看过很多次,只要9.9元就能学会。今天小编就为大家带来Python操作Excel的免费入门教程。
仔细看,仔细学,本文价值 ¥9.9 哦~~~
这牛逼吹得我自己都有点脸红。
既然要操作 Excel ,那我们就需要先建立一个 Excel 。
先在Excel中创建3张Sheet,别告诉我你不知道什么是Sheet,也许你不适合看这篇文章。
测试用的Excel已经上传到代码仓库,有需要的同学可以访问。
Excel 内容如下:
请暂时忽略右下角的日期和时间。该日期和时间没有实际作用,仅用于演示。
这是一个 Sheet 的数据,同样的 Sheet 存在 3 个。
各位同学看到这个Excel大概能猜到小编要干什么了。是的,没错,你没看错,小编就是想算平均分。
所以用Excel自带的公式计算平均分是不好的。如果非要用Python来计算,那是浪费时间和金钱。
Excel内置的功能确实强大,这点不得不接受,但是如果我想跨Sheets操作怎么办?本文要玩的show操作是计算跨Sheets的平均分。
首先我们需要导入第三方模块xlrd,因为是第三方模块,没有安装的同学需要先安装。在命令行输入:
pip install xlrd
等待进度条走完就好了。
获取 workbook:
首先,我们需要在代码中打开我们刚才创建的 Excel :
workbook = xlrd.open_workbook('test.xlsx')
为了方便,小编将test.xlsx和代码放在同一个目录下。实际操作时需要注意文件的路径。无论使用相对路径还是绝对路径,都要写对。
Sheet 有关操作:
有关 Sheet 的操作有很多,我们列举几个常用的:
# 输出所有 sheet 的名字
print(workbook.sheet_names())
# 获取所有的 sheet
print(workbook.sheets())
# 根据索引获取 sheet
print(workbook.sheet_by_index(1))
# 根据名字获取 sheet
print(workbook.sheet_by_name('1班'))
这里就不演示输出结果了,大家自己操作一下就知道了:)
常用操作:
获取行数和列数:
sheet1 = workbook.sheets()[0]
# 获取行数
print(sheet1.nrows)
# 获取列数
print(sheet1.ncols)
结果如下:
6
4
获取整行和整列的数据(数据类型为列表):
# 获取第 2 行内容
print(sheet1.row_values(1))
# 获取第 3 列内容
print(sheet1.col_values(2))
结果如下:
['小明', 76.0, 85.0, 95.0, '']
['数学', 85.0, 58.0, 96.0, '', '']
获取单元格的数据:
cell1 = sheet1.cell(1, 1).value
# 行索引
cell2 = sheet1.row(1)[1].value
cell3 = sheet1.cell(1, 2).value
# 列索引
cell4 = sheet1.col(2)[1].value
结果如下:
76.0 76.0 85.0 85.0
获取日期类型数据:
date_value = xlrd.xldate_as_datetime(sheet1.cell_value(5, 3), workbook.datemode)
print(type(date_value), date_value)
结果如下:
<class 'datetime.datetime'> 2019-11-07 20:49:05
这里直接通过方法将数据转换为datetime类型,xlrd也提供了将数据转换为元组,再将元组转换为日期的能力。
date_tulp = xlrd.xldate_as_tuple(sheet1.cell_value(5, 3), workbook.datemode)
print(type(date_tulp), date_tulp)
year, month, day, hour, minute, second = date_tulp
print(datetime.datetime(year, month, day, hour, minute, second))
结果如下:
<class 'tuple'> (2019, 11, 7, 20, 49, 5)
2019-11-07 20:49:05
python学习网,免费的在线学习
,欢迎关注!
本文转自:https://blog.csdn.net/meteor_93/article/details/103116684
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python写爬虫的方法01/07
- ♥ python可以做的有趣的事情11/10
- ♥ 6个常用的顶级Python文本编辑器09/01
- ♥ python中的gui是什么意思?10/24
- ♥ python3.6安装失败怎么解决12/22
- ♥ 初学者学c还是学python?12/22
内容反馈