python 操作excel文件——openpyxl, xlsxwriter, pandas

最近用python写了好多处理excel文件的小工具。谈谈感受。

最开始使用的是xlrd,xlwt两个模块,但是xlwt这个模块只能输出.xls文件,不能输出.xlsx文件,而.xls最多只能支持256列,鄙人就是由于事先没有了解清楚这一局限,导致后期程序的功能受限,不得不改用其他包。

由于xlwt的局限,所以不推荐使用,除非是要输出老的03版excel文件,现在应该不太会有这种要求了。

openpyxl和xlsxwriter都可以输出10版的excel文件,但是openpyxl在使用上要更麻烦一点,而且openpyxl有一个比较蛋疼的地方就是最合并单元格的格式有问题,会出现边框不全等,openpyxl各个版本之间有所差异,经常升级以后就出现错误。但是openpyxl可以读入已有的excel表格,进行增量更新。这意味着,可以手动将excel表格的格式先创建好,让后只用openpyxl去更新数据,这个对于格式比较复杂的excel表格效率提高很多。

xlsxwriter的使用和xlwt基本一样,速度比openpyxl要快,但是不能读取excel文档,如果要输出excel文档,就必须从头做起,包括文档的格式,如果文档有很多复杂的单元格式,就比较麻烦了,但是如果大批量的处理,还是值得的。

pandas读取excel表格很方便,再加上pandas强大的数据处理功能,可以很容易生成目标数据,然后利用openpyxl或者xlsxwriter将数据写进excel,鄙人基本都是这么做的。有了pandas,xlrd几乎没用过。


猜你喜欢

转载自blog.csdn.net/xiaozisheng2008_/article/details/80290636