您是正确的,它xlwings
依赖pywin32
,而openpyxl
不是。
“ .xlsx” excel文件本质上是一个zip文件,其中包含根据Microsoft的OOXML规范格式化的多个XML文件。通过此规范,可以创建一种能够以几乎任何编程语言直接读取/写入excel文件的程序。这是应用的方法openpyxl
:它使用python代码直接读取/写入excel文件。
可以通过Win32 COM API由外部程序启动和控制Microsoft Excel应用程序。该pywin32
软件包提供了Win32 COM和Python之间的接口。通过带有正确的pywin32命令的python脚本,您可以完全控制Excel应用程序(打开excel文件,从单元格查询数据,将数据写入单元格,保存excel文件等)。尽管使用了Python语法,但是pywin32
可以使用的命令反映了Excel VBA命令。
xlwings
(除其他外)是的用户友好包装器pywin32
。它介绍了几种简洁但功能强大的方法。一个示例就是将excel单元格范围直接转换为numpy数组或pandas数据框的方法(反之亦然)。
xlwings
和之间的根本区别openpyxl
是,前者要求在您的计算机上安装MS Excel,而后者则不需要。