XLRD与Win32 COM性能比较

时间:2016-08-27 10:07:25

标签: python excel csv win32com

我有这个巨大的Excel (xls)文件,我必须从中读取数据。我尝试使用xlrd库,但速度很慢。然后我发现通过手动将Excel文件转换为CSV文件并阅读CSV文件的速度提高了几个数量级。

但是我不能要求我的客户在每次导入文件之前手动将xls保存为csv。所以我想在阅读之前动态转换文件。

是否有人对哪个程序更快做了任何基准测试:

  • 使用Excel库打开xlrd文件并将其另存为CSV文件,或
  • 使用Excel库打开win32com文件并将其另存为CSV文件?

我问,因为最慢的部分是文件的打开,所以如果我可以使用win32com获得性能启动,我很乐意尝试。

1 个答案:

答案 0 :(得分:0)

如果您需要经常阅读该文件,我认为最好将其另存为CSV。否则,只需动态阅读即可。

对于性能问题,我认为win32com表现优异。但是,考虑到跨平台兼容性,我认为xlrd更好。 win32com更强大。有了它,人们可以以各种方式处理Excel(例如读/写单元格或范围)。 但是,如果您正在寻求快速文件转换,我认为pandas.read_excel也可以。

我正在使用另一个包xlwings。所以我也对这些包之间的比较感兴趣。

我认为, 我会使用pandas.read_excel进行快速文件转换。 如果要求在Excel上进行更多处理,我会选择win32com。