首页 > 解决方案 > Openpyxl - 如何遍历熊猫数据框并将它们导出到一个文件中的单独工作表中?

问题描述

如何将单独的数据框导出到一个文件中的单独工作表中?遵循以下代码时,输​​出文件仅包含最后一个工作表 -sheet3尽管模式a与追加相同。仅供参考:代码运行良好,无需循环数据以及分配和导出数据帧。

import itertools
import openpyxl
import pandas as pd

cnxn = mysql.connector.connect(host=ip_mysql,database = db_mysql,user=user_mysql,password=pswd_mysql)
this_excel = r'C:\excelfile.xlsx'

df = {}

for i, field, table, sheetname  in zip(list(range(1,3)),
    list(itertools.chain.from_iterable(itertools.repeat('USER', 1) for x in range(0,2))),
    ['a','b','c'],
    ['sheet1','sheet2','sheet3'],
    ):
    
    df[i] = pd.read_sql_query("SELECT " + field + " FROM " + table, cnxn)
    print(df[i])

    wb = openpyxl.Workbook()
    wb.save(this_excel)

    with pd.ExcelWriter(this_excel, mode='a') as writer:  
        df[i].to_excel(writer, sheet_name=sheetname, index = False)

cnxn.close()

标签: pythonpandasopenpyxl

解决方案


推荐阅读