CSV和XLSX文件导入到熊猫数据框:速度问题

sas*_*llo 5 python csv xlsx pandas openpyxl

从xlsx文件读取数据(仅20000个数字)需要花费很多时间:

import pandas as pd
xlsxfile = pd.ExcelFile("myfile.xlsx")
data = xlsxfile.parse('Sheet1', index_col = None, header = None)
Run Code Online (Sandbox Code Playgroud)

大约需要9秒钟。

如果我将同一文件保存为csv格式,则需要25毫秒左右的时间:

import pandas as pd
csvfile = "myfile.csv"
data = pd.read_csv(csvfile, index_col = None, header = None)
Run Code Online (Sandbox Code Playgroud)

这是openpyxl的问题还是我错过了什么?还有其他选择吗?

Mat*_*ohn 3

xlrd支持 .xlsx 文件,这个答案表明至少具有 .xlsx 支持的 xlrd 测试版比 openpyxl 更快。

当前稳定版本的 Pandas (11.0) 使用 openpyxl 处理 .xlsx 文件,但在下一个版本中这一点已更改。如果你想尝试一下,可以从GitHub下载开发版本