xlwings 与 openpyxl 阅读 Excel 工作簿之间的差异
Differences between xlwings vs openpyxl Reading Excel Workbooks
我大多只使用 xlwings 打开 (read-write
) 工作簿(因为我阅读的工作簿有复杂的宏)。但是我最近开始使用 openpyxl 打开 (read-only
) 工作簿,因为我需要阅读数千个工作簿来抓取一些数据。
我注意到 xlwings 和 openpyxl 读取工作簿的方式有很大差异。我相信 xlwings 依靠 pywin32
来阅读工作簿。当您使用 xlwings.Book(<filename>)
阅读工作簿时,将打开实际的工作簿。我感觉这是 pywin32
.
的结果
但是,当使用 openpyxl.load_workbook(<filename>)
时,工作簿 window 不会出现。我觉得这是没有使用 pywin32
.
的结果
除此之外,我没有进一步了解后端如何为每个库工作。有人可以对此有所了解吗?是否有 benefit/cost 依赖 xlwings
和 pywin32
阅读工作簿,而不是 openpyxl
似乎不使用 pywin32
?
你是对的,xlwings
relies on pywin32
, whereas openpyxl
没有。
openpyxl
“.xlsx”excel 文件本质上是一个包含多个 XML 文件的 zip 文件,其格式根据 Microsoft 的 OOXML specification。有了这个规范,就可以用几乎任何编程语言创建一个能够直接 reading/writing excel 文件的程序。这是 openpyxl
中应用的方法:它使用 python 代码直接到 read/write excel 文件。
xlwings
Microsoft Excel 应用程序可以通过 Win32 COM API. The pywin32
package provides an interface between Win32 COM and Python. Through a python script with the right pywin32 commands you can fully control an Excel Application (open excel files, query data from cells, write data to cells, save excel files, etc.). The pywin32
commands that you can use mirror the Excel VBA commands 由外部程序启动和控制,尽管使用 python 语法。
xlwings
是(除其他外)围绕 pywin32
的用户友好包装器。它介绍了几种简洁而强大的方法。一个示例是将 excel 单元格范围的 conversion 直接指向 numpy 数组或 pandas 数据帧(反之亦然)的方法。
总结
xlwings
和 openpyxl
之间的根本区别是前者要求您的计算机上安装 MS Excel,而后者则不需要。
我大多只使用 xlwings 打开 (read-write
) 工作簿(因为我阅读的工作簿有复杂的宏)。但是我最近开始使用 openpyxl 打开 (read-only
) 工作簿,因为我需要阅读数千个工作簿来抓取一些数据。
我注意到 xlwings 和 openpyxl 读取工作簿的方式有很大差异。我相信 xlwings 依靠 pywin32
来阅读工作簿。当您使用 xlwings.Book(<filename>)
阅读工作簿时,将打开实际的工作簿。我感觉这是 pywin32
.
但是,当使用 openpyxl.load_workbook(<filename>)
时,工作簿 window 不会出现。我觉得这是没有使用 pywin32
.
除此之外,我没有进一步了解后端如何为每个库工作。有人可以对此有所了解吗?是否有 benefit/cost 依赖 xlwings
和 pywin32
阅读工作簿,而不是 openpyxl
似乎不使用 pywin32
?
你是对的,xlwings
relies on pywin32
, whereas openpyxl
没有。
openpyxl
“.xlsx”excel 文件本质上是一个包含多个 XML 文件的 zip 文件,其格式根据 Microsoft 的 OOXML specification。有了这个规范,就可以用几乎任何编程语言创建一个能够直接 reading/writing excel 文件的程序。这是 openpyxl
中应用的方法:它使用 python 代码直接到 read/write excel 文件。
xlwings
Microsoft Excel 应用程序可以通过 Win32 COM API. The pywin32
package provides an interface between Win32 COM and Python. Through a python script with the right pywin32 commands you can fully control an Excel Application (open excel files, query data from cells, write data to cells, save excel files, etc.). The pywin32
commands that you can use mirror the Excel VBA commands 由外部程序启动和控制,尽管使用 python 语法。
xlwings
是(除其他外)围绕 pywin32
的用户友好包装器。它介绍了几种简洁而强大的方法。一个示例是将 excel 单元格范围的 conversion 直接指向 numpy 数组或 pandas 数据帧(反之亦然)的方法。
总结
xlwings
和 openpyxl
之间的根本区别是前者要求您的计算机上安装 MS Excel,而后者则不需要。