使用Python将多个Excel文件组合到一个主文件中



我正在使用我的论文数据,其中有多个人执行相同数量的实验。因此,X人的实验1至7,依此类推。

我设法为每个人创建了7个独立的Excel文件。但是我需要的是一个人X的Excel文件,每个实验的结果有7张纸。

我已经搜索了很多东西,似乎找不到合适的解决方案,希望有人可以帮助我。

counter_scenario = 1
wb = load_workbook(f'ID01_S{counter_scenario}.xlsx')
wb.create_sheet(f'ID01_S{counter_scenario}')
wb.save('ID01_No crash.xlsx')
counter_scenario += 1

我现在得到的是一个覆盖先前表格的文件。因此,最终,我只有一个带有实验7的数据的表格。尽管我运行代码"主文件"不断更新,对我而言,这表明数据已写入它,但它只是覆盖它。

首先,我们将读取一个人的所有工作簿

df1 = pd.read_excel('person_1_exp1.xlsx')
df2 = pd.read_excel('person_1_exp2.xlsx')
df3 = pd.read_excel('person_1_exp3.xlsx')
# and so on

让我们创建一个新的XLSX文件,该文件将包含每个人的所有实验:" person_1_results.xlsx"

writer = pd.ExcelWriter(
    save_path.format("Person_1_results.xlsx"),
    engine='xlsxwriter')
# Convert the dataframe to an XlsxWriter Excel object.
df1.to_excel(
    writer,
    sheet_name='Experiment_1',
    startrow=0,
    startcol=0,
    index=False)
df2.to_excel(
    writer,
    sheet_name='Experiment_2',
    startrow=0,
    startcol=0,
    index=False)
df3.to_excel(
    writer,
    sheet_name='Experiment_3',
    startrow=0,
    startcol=0,
    index=False)
# and so on
# Get the xlsxwriter workbook and worksheet objects.
workbook = writer.book
worksheet1 = writer.sheets['Experiment_1']
worksheet2 = writer.sheets['Experiment_2']
worksheet2 = writer.sheets['Experiment_3']
# and so on

如果您对文件有一致的命名,则可以修改此解决方案,并添加循环以制作重复的零件

最新更新