【问题标题】:Combine multiple excel files into one master file using Python使用 Python 将多个 excel 文件合并为一个主文件
【发布时间】:2019-07-05 11:04:15
【问题描述】:

我正在处理我的论文数据,其中有多个人执行相同数量的实验。所以人 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 数据的工作表。当我运行代码时,“主文件”不断更新,(对我而言)这表明数据已写入其中,它只是覆盖了它。

【问题讨论】:

标签: python excel


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2015-01-12
    • 2020-12-16
    • 1970-01-01
    • 2020-06-12
    • 2013-07-13
    • 2021-02-02
    • 1970-01-01
    • 2023-01-18
    • 1970-01-01
    相关资源
    最近更新 更多