首页 > 解决方案 > 在多张 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 表中。

标签: pythonpandasdataframexlsxwriter

解决方案


您需要移动save()循环的外部。


推荐阅读