第一方库如openpyxl或xlrd / xlwt有什么,win32com没有什么?

时间:2013-11-28 10:04:26

标签: python excel win32com xlrd openpyxl

win32com是一个从Python访问COM对象的通用库。

该库的一个主要标志是能够操作excel文档。

但是,有许多自定义模块,其唯一目的是操作excel文档,如openpyxl,xlrd,xlwt,python-tablefu。

这些库对于这项特定任务是否更好?如果是,那么在哪方面?

1 个答案:

答案 0 :(得分:7)

例如,直接打开并有效地编写excel文件。

  • win32com使用COM通信,虽然它对某些用途非常有用,但它需要执行非常慢的复杂API调用(也就是说,您使用的是控制Windows的代码,控制Excel)

  • openpyxl或其他人,只需打开一个Excel文件,解析它并让您使用它。

尝试使用win32com填充带有2000行,每个100个单元格的excel文件,然后填充任何其他直接解析器。虽然解析器需要几秒钟,但win32com需要几分钟。

此外,openpyxl(我还没试过其他人)不需要在系统中安装excel。它甚至不需要操作系统是Windows。

完全不同的概念。 win32com是一件艺术品,它打开了一扇门,几乎可以自动化任何东西,而另一个选项只是一个文件解析器。换句话说,要熨烫你的衬衫,你需要使用20美元的铁,而不是100吨的兰博基尼暗黑破坏神的金属板。