我有这个巨大的Excel (xls)
文件,我必须从中读取数据。我尝试使用xlrd
库,但速度很慢。然后我发现通过手动将Excel
文件转换为CSV
文件并阅读CSV
文件的速度提高了几个数量级。
但是我不能要求我的客户在每次导入文件之前手动将xls
保存为csv
。所以我想在阅读之前动态转换文件。
是否有人对哪个程序更快做了任何基准测试:
Excel
库打开xlrd
文件并将其另存为CSV
文件,或Excel
库打开win32com
文件并将其另存为CSV
文件?我问,因为最慢的部分是文件的打开,所以如果我可以使用win32com
获得性能启动,我很乐意尝试。
答案 0 :(得分:0)
如果您需要经常阅读该文件,我认为最好将其另存为CSV。否则,只需动态阅读即可。
对于性能问题,我认为win32com表现优异。但是,考虑到跨平台兼容性,我认为xlrd更好。 win32com更强大。有了它,人们可以以各种方式处理Excel(例如读/写单元格或范围)。 但是,如果您正在寻求快速文件转换,我认为pandas.read_excel也可以。
我正在使用另一个包xlwings。所以我也对这些包之间的比较感兴趣。
我认为, 我会使用pandas.read_excel进行快速文件转换。 如果要求在Excel上进行更多处理,我会选择win32com。