win32com是一个从Python访问COM对象的通用库。
该库的一个主要标志是能够操作excel文档。
但是,有许多自定义模块,其唯一目的是操作excel文档,如openpyxl,xlrd,xlwt,python-tablefu。
这些库对于这项特定任务是否更好?如果是,那么在哪方面?
答案 0 :(得分:7)
例如,直接打开并有效地编写excel文件。
win32com
使用COM通信,虽然它对某些用途非常有用,但它需要执行非常慢的复杂API调用(也就是说,您使用的是控制Windows的代码,控制Excel)
openpyxl
或其他人,只需打开一个Excel文件,解析它并让您使用它。
尝试使用win32com
填充带有2000行,每个100个单元格的excel文件,然后填充任何其他直接解析器。虽然解析器需要几秒钟,但win32com
需要几分钟。
此外,openpyxl
(我还没试过其他人)不需要在系统中安装excel。它甚至不需要操作系统是Windows。
完全不同的概念。 win32com是一件艺术品,它打开了一扇门,几乎可以自动化任何东西,而另一个选项只是一个文件解析器。换句话说,要熨烫你的衬衫,你需要使用20美元的铁,而不是100吨的兰博基尼暗黑破坏神的金属板。