python pandas excel 慢,如何在pandas中使用read_excel提高进程速度?

无需猜测即可阅读所有工作表

对pd.read_excel使用sheetname = None参数.这将把所有工作表读入数据帧的字典中.例如:

dfs = pd.read_excel('file.xlsx', sheetname=None)

# access 'Sheet1' worksheet

res = dfs['Sheet1']

限制行数或列数

您可以使用parse_cols和skip_footer参数来限制列数和/或行数.这将减少读取时间,并且还可以使用sheetname = None.

例如,以下内容将读取前3列,如果您的工作表有100行,则只读取前20行.

df = pd.read_excel('file.xlsx', sheetname=None, parse_cols='A:C', skip_footer=80)

如果您希望应用特定于工作表的逻辑,可以通过提取工作表名称来实现:

sheet_names = pd.ExcelFile('file.xlsx', on_demand=True).sheet_names

dfs = {}

for sheet in sheet_names:

dfs[sheet] = pd.read_excel('file.xlsx', sheet)

提高绩效

将Excel文件读入Pandas自然比其他选项(CSV,Pickle,HDF5)慢.如果您希望提高性能,我强烈建议您考虑这些其他格式.

例如,一个选项是use a VBA script将Excel工作表转换为CSV文件;然后使用pd.read_csv.

你可能感兴趣的:(python,pandas,excel,慢)