在 Excel 的多张纸中加载数据帧时出现问题

Issue in loading dataframes in multiple sheets of Excel

我的代码正在返回多个数据帧,我希望将这些数据帧导出到单个 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() 移出循环。