【发布时间】:2013-04-17 11:06:40
【问题描述】:
从 xlsx 文件中读取数据(仅 20000 个数字)需要很长时间:
import pandas as pd
xlsxfile = pd.ExcelFile("myfile.xlsx")
data = xlsxfile.parse('Sheet1', index_col = None, header = None)
大约需要 9 秒。
如果我以 csv 格式保存相同的文件,则需要大约 25 毫秒:
import pandas as pd
csvfile = "myfile.csv"
data = pd.read_csv(csvfile, index_col = None, header = None)
这是 openpyxl 的问题还是我遗漏了什么?有其他选择吗?
【问题讨论】:
-
XLSX 的开销更多。一方面,它必须在解析之前解压缩。另一个原因是它是必须解析的 XML。 9 秒确实看起来相当高,但它慢很多倍是有充分理由的。
-
是的,我明白了,但是 9 秒似乎有点太多了……
-
read_csv 是一段高度优化的c代码; excel是通过纯python库读取的
标签: python csv pandas xlsx openpyxl