python - 使用 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 数据的工作表。当我运行代码时,“主文件”不断更新,这(对我而言)表明数据已写入其中,它只是覆盖它。
解决方案
首先,我们将一个人的所有工作簿读入 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
如果您对文件有一致的命名,则可以修改此解决方案并添加循环以制作重复的部分
推荐阅读
- python - 无法解析剩余部分:来自 '% form.as_p %' 的 '% form.as_p %'
- json - 映射条件子元素
- javascript - 如何从 selenium 中的多个父级获取每个父类的多个子元素?
- r - 向大df中的对应值添加一个小向量
- python - tf.constant 有多恒定?
- flutter - 如何在某些屏幕中显示/隐藏底部导航栏?
- linux - 从命令获取 GNU makefile 目标
- javascript - 孙子渲染时其道具不变
- arrays - 将我的数组内容排序到网格中 [SwiftUI]
- vue.js - 在 VScode 中格式化 .vue 文件时如何保留空行?