Python 如何使用多个工作表和不同的工作表名称将dfs导出到excel
我试图通过在excel中将df打印到一张工作表,并将学生ID作为选项卡名称,通过循环遍历学生ID 换言之: df转换为excel,选项卡名称为1 新工作表和选项卡名称的下一个df为2 遍历所有学生IDPython 如何使用多个工作表和不同的工作表名称将dfs导出到excel,python,excel,pandas,loops,Python,Excel,Pandas,Loops,我试图通过在excel中将df打印到一张工作表,并将学生ID作为选项卡名称,通过循环遍历学生ID 换言之: df转换为excel,选项卡名称为1 新工作表和选项卡名称的下一个df为2 遍历所有学生ID final=[dataframe,dataframe,dataframe] studentIDs=[1,2,3] writer = pd.ExcelWriter('Name.xlsx', engine='xlsxwriter') for df in final: df.to_excel
final=[dataframe,dataframe,dataframe]
studentIDs=[1,2,3]
writer = pd.ExcelWriter('Name.xlsx', engine='xlsxwriter')
for df in final:
df.to_excel(writer, sheet_name='%s' %studentIDs)
writer.save()
如果列表总是按顺序匹配,那么您可以使用enumerate(它提供从该索引开始的列表),然后将其与上面的列表匹配,但我建议使用字典
final = {
1 : dataframe,
2 : dataframe,
3 : dataframe
}
writer = pd.ExcelWriter('Name.xlsx', engine='xlsxwriter')
for sheet_name in final:
final[sheet_name].to_excel(writer, sheet_name= str(sheet_name))
writer.save()
这也许可以回答您的问题:@HenryWoody这也是一个非常好的实现;使用zip()这太完美了!我感谢你的帮助。我已经有了这段代码,但它不起作用,因为我运行它时“writer.save()”在循环中,而你却在循环外!非常感谢。
final = {
1 : dataframe,
2 : dataframe,
3 : dataframe
}
writer = pd.ExcelWriter('Name.xlsx', engine='xlsxwriter')
for sheet_name in final:
final[sheet_name].to_excel(writer, sheet_name= str(sheet_name))
writer.save()