Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用多个工作表和不同的工作表名称将dfs导出到excel_Python_Excel_Pandas_Loops - Fatal编程技术网

Python 如何使用多个工作表和不同的工作表名称将dfs导出到excel

Python 如何使用多个工作表和不同的工作表名称将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

我试图通过在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(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()