xlwings与openpyxl阅读Excel工作簿之间的区别

我主要只使用xlwings打开(read-write)工作簿(因为我阅读的工作簿具有复杂的宏)。但是,read-

only当我需要阅读数千本工作簿以抓取一些数据时,我最近开始使用openpyxl打开()工作簿。

我注意到xlwings和openpyxl读取工作簿的方式之间存在很大差异。我相信xlwings依靠pywin32阅读工作簿。当您阅读工作簿时,xlwings.Book(<filename>)将打开实际的工作簿。我觉得这是的结果pywin32

但是,使用openpyxl.load_workbook(<filename>)工作簿时不会出现窗口。我觉得这是的结果pywin32

除此之外,我没有进一步了解每个库的后端如何工作。有人可以对此有所启发吗?依靠xlwingspywin32阅读工作簿是否有好处/成本,而openpyxl似乎没有使用pywin32

回答:

您是正确的,它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,而后者则不需要。

以上是 xlwings与openpyxl阅读Excel工作簿之间的区别 的全部内容, 来源链接: utcz.com/qa/424188.html

回到顶部