数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件。因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道。
如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行处理,Excel 也支持此格式。但标准的 Excel 文件(xls/xlsx)具有较复杂的格式,并不方便像普通文本文件一样直接进行读写,需要借助第三方库来实现。
常用的库是 python-excel 系列:
xlrd、xlwt、xlsxwriter、xlutils
xlrd 库:从 excel 文件读取数据和格式化信息的库,支持 .xls 以及 .xlsx 文件。
xlwings 库:支持 python 调用 excel ,也支持 excel VBA 调用 python 脚本,同样支持文件的读写操作,是比较强大的一款 python 库。
xlsxwriter 库:不同的是这个库只支持 .xlsx 的写操作,可以支持 excel VBA 调用 python 脚本。
xlutils - 操作 Excel 文件的实用工具,如复制、分割、筛选等
不过今天只说说这四个。
(更新:有人提到另外几个 Python 处理 Excel 的库,有些的确会比 python-excel 系列好用。另外,关于为什么不用 VBA、Java、C#……处理 Excel。其实本文的出发点是对于 Python 使用者来说,操作 Excel 的一种基本方式,并非否定其他语言和方法。)
尽管这是目前被用得最多的 Excel 库,我还是很想吐槽为什么这三个包不能放在一个模块里……另外它们有个缺陷,就是只能处理 xls 文件。如果你想用新版本的 xlsx,可以考虑 openpyxl 和 xlsxwriter。
列举代码:
import xlwt
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('sheet 1')
sheet.write(0,1,'test text')#第0行第一列写入内容
wbk.save('test.xls')
希望对读完本文的你有帮助、有启发,如果有不足之处,欢迎批评指正交流!