最近使用xlrd读取excel数据进行处理,发现当行数达到4000-5000以后,就会出现明显的性能问题,对比读取2000条数据的excel耗费时间会多60%的样子(粗略估计)。
使用行列索引和直接使用单元格的值一般无二,进入xlrd模块内部研究发现,模块内采用流的读取拉出数据并进行组合排列 渲染,数据量的大小将直接影响运行速度,并且暂时无法找到优化办法。 对于xls, 和xlsx后缀的文件,xlrd读取xls的速度是后者的一倍有多。
下面这幅对比图转自百度知道,对于它速度一项,我觉得有待商榷,可能是它描述不够具体,我认为5000条数据至少不应该算大文件。可能在这里已经算是了吧。