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

问题描述 投票:0回答:1

我的代码返回多个数据帧,我希望将这些数据帧导出到多个单个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表。

python pandas dataframe xlsxwriter
1个回答
0
投票

你需要将save()移动到循环之外。

© www.soinside.com 2019 - 2024. All rights reserved.