Excel本身提供了非常强大的功能,在数据统计和分析时经常会导出到CSV或者Excel等文件,也常常会从Excel读取数据进行计算。日常的自动化脚本读写数据时我使用比较多的也是Excel。对Excel的操作有各种不同的第三方库,效率以及平台支持都各有千秋。根据综合情况,我选择了支持最多平台,并且语法最简单易用的openpyxl
这个库,在此做个简单的使用示例记录,根据每次使用遇到的问题以及解决方法都会增量修改文章,积累并总结问题能够方便日后遇到相同的问题时能够快速查阅并解决。
基础部分
openpyxl支持的Python版本
python版本必须大于2.7,并且不能是3.0.x到3.3.x的版本。openpyxl
库不支持.xls后缀的文件只支持.xlsx后缀的Excel文件,不过只要是Office 2007 及后续的版本都支持.xlsx后缀的文件
安装openpyxl
:1
pip install openpyxl
openpyxl中API对应的Excel概念
- Workbook 工作簿,对应一个.xls或.xlsx后缀的文件
- Worksheet 工作表,一个Excel工作簿中,包含一个或多个工作表,通常在Excel的顶部或者底部标签栏中可以看到。
首先用Workbook构造或者打开一个Excel文件得到工作簿,然后通过工作簿对象获取Worksheet工作表。
通过得到的工作表对象,就可以对该工作表的行和列进行读写操作了。
快速使用
写入Excel
1 | import datetime |
上述代码中ws['A2']
将A2原本的值1
修改成了当前时间。
保存后的Excel工作簿打开如下所示
读取Excel
1 | from openpyxl import load_workbook |
复杂一点的用法
写入Excel文件
1 | from openpyxl import Workbook |
保存后的Excel工作簿打开,对应有多个工作表,每个工作表的内容分别如下所示:
读取Excel文件
1 | from openpyxl import load_workbook |
有关openpyxl操作Excel单元格的样式和更详细的用法,参考其他作者的文章:
https://www.jianshu.com/p/7af9a7c5b27d
openpyxl官方文档地址:
https://openpyxl.readthedocs.io/en/stable/