Python自学之路-Excel模块的使用总结

Python自学之路-Excel模块的使用总结_第1张图片

工作中经常和数据打交道,也避免不了使用Excel整理或者汇总一些数据,业务经常会给到一些excel,要求把这些数据怎么样怎么样,既然学了Python,就打算写个脚本处理这些数据,于是看了些操作excel的模块(xlrd&xlwt、XlsxWriter、OpenPyXL、Microsoft Excel API)。这里对相关基础用法做些总结。

(一)xlrd&xlwt

xlrd用来读取excel文件,xlwt用来写excel文件,它们合作来对excel进行操作。

官方文档:http://www.python-excel.org/

xlrd官方介绍:https://pypi.python.org/pypi/xlrd/1.0.0

xlwt官方介绍:https://pypi.python.org/pypi/xlwt/1.1.2

xlutils官方介绍:https://pypi.python.org/pypi/xlutils

安装后引用:

xlrd用来读取excel文件,大致的简单操作参考如下:

Python自学之路-Excel模块的使用总结_第2张图片

xlwt用来写excel文件,大致的简单操作如下:

Python自学之路-Excel模块的使用总结_第3张图片

(二)XlsxWriter

Xlsx是python用来构造xlsx文件的模块,可以向excel2007+中写text,numbers,formulas 公式以及hyperlinks超链接。

Xlsx是python用来构造xlsx文件的模块,可以向excel2007+中写text,numbers,formulas 公式以及hyperlinks超链接。

官网Tutorial:http://xlsxwriter.readthedocs.io/tutorial

大致的简单操作如下:

Python自学之路-Excel模块的使用总结_第4张图片

同时在写入时可以使用公式,并且可以自定义格式:

Python自学之路-Excel模块的使用总结_第5张图片

(三)OpenPyXL

OpenPyXL是比较综合的一个工具,能读能写能修改,功能还算可以但也有很大的缺陷。不支持XLS,不支持读取公式。

由于没有什么亮点和优势,所以自己没有亲自去尝试。

OpenPyXL的工作模式跟XlsxWriter和xlwt有很大的区别,它用的是getter/setter模式。你可以随时读取某个单元格的内容,并根据其内容进行相应的修改,OpenPyXL会帮你记住每个单元格的状态。

特别需要注意的一点:虽然它支持修改已有文件,但由于其所支持的功能有限,读入文件时会忽略掉它所不支持的内容,再写入时,这些内容就丢失了。因此使用时一定要慎重。比如下面的缺点中提到它无法读入公式,那如果你修改一个带有公式的文件,保存之后,所有的公式就都没有了。

(四)Microsoft Excel API

大部分Windows环境的开发人员都会选择Microsoft Excel API。实际上不仅仅是Python,几乎各种语言都有相应的方法使用它,因为核心的逻辑完全是由MicrosftExcel自身提供的。语言相关的部分只是负责跟Windows的COM组件进行通信。

在Python中首先需要安装Python for Windows extensions(pywin32),具体的文档可以查阅Win32 Modules和Python COM。

当然你还必须要安装某一个版本的Microsoft Office Excel,它内部的DLL负责实际的操作。

但是有两个致命的缺点:慢到死和平台限制。

因为以前尝试过,所以也没有亲自实践,但MSDN上的文档绝对详细,要处理操作复杂的Excel的话可以考虑使用。

Python自学之路-Excel模块的使用总结_第6张图片

(五)总结

在google了一番和尝试之后,最终决定使用xlrd来读(既支持XLS,也支持XLSX),用XlsxWriter来写。目前使用下来还是这个搭配基本上解决了我操作Excel的需求。

你可能感兴趣的:(Python自学之路-Excel模块的使用总结)