熊猫:Excel工作簿/工作表合并非常慢

时间:2020-03-23 00:59:03

标签: excel pandas

我创建了一个Python脚本,用于将多个Excel工作簿合并到具有多个工作表的单个工作簿。每个工作簿都有大约250个工作表。每个工作簿的大小约为20MB-25MB。脚本工作正常,但是问题非常慢。例如,在这里我只放4张纸。使用4张纸大约需要2个小时。但是对于250张工作表来说,要花费一天多的时间来编译整个工作表。请让我知道,可能是什么问题?

import pandas as pd
import os
from tqdm import tqdm  # I added this to see the progress, but even without this it is the same issue

os.chdir(r'C:\Users\Me\Desktop\data\Macro')

sheet_list = ['SheetA', 'SheetB', 'SheetB', 'SheetC']


for p in tqdm(range(0, 100)):
    with pd.ExcelWriter('outcome.xlsx') as writer:
        for i in sheet_list:
            df1 = pd.read_excel('1.xlsx', sheet_name=i)
            df2 = pd.read_excel('2.xlsx', sheet_name=i)
            df3 = pd.read_excel('3.xlsx', sheet_name=i)
            df4 = pd.read_excel('4.xlsx', sheet_name=i)
            df5 = pd.read_excel('5.xlsx', sheet_name=i)
            df6 = pd.read_excel('6.xlsx', sheet_name=i)
            df7 = pd.read_excel('7.xlsx', sheet_name=i)
            df8 = pd.read_excel('8.xlsx', sheet_name=i)
            data = pd.concat([df1, df2, df3, df4, df5, df6, df7, df8])
            data.to_excel(writer, sheet_name=i, index=False)
    writer.save()

0 个答案:

没有答案