我的代码返回多个数据帧,我希望将这些数据帧导出到多个单个excel文件中。我研究并发现它可以使用ExcelWriter实现。但是,当我运行此代码时,只有我的第一个数据帧被导出到excel文件中,其余的数据帧不会进入excel。
writer = pd.ExcelWriter('file.xlsx', engine='xlsxwriter')
for k in l:
with udaExec.connect(method="odbc",system=host, username=username,password=password, driver="Teradata") as connect:
QP = pd.read_sql_query(k,connect)
with udaExec.connect(method="odbc",system=host1, username=username1,password=password1, driver="Teradata") as connect:
QD= pd.read_sql_query(k,connect)
Final_result = pd.merge(QP,QD,on='ID', how='outer', indicator = True)
cnt = cnt+1
sh = f'''she_{cnt}'''
print(sh)
Final_result.to_excel(writer, sheet_name = sh)
writer.save()
我希望将多个数据帧导出到多张excel表。
你需要将save()
移动到循环之外。