python - 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()
解决方案
推荐阅读
- android - 以编程方式更改视图位置
- ansible - Ansible playbook 从一些字典键中获取价值
- javascript - 选中的Javascript单选按钮需要单击才能激活
- function - VSCode在自动完成函数时添加括号
- dart - 如何在 Angular Dart 项目中提供多个不同的目录?
- python - 从python中的kibana查询?
- html - "justify-content-md-end" 和 "justify-content-center" 行为相反
- xml - 尝试删除仅由 http 访问的文件时访问被拒绝
- dart - http.get() 没有在标题中添加我的参数
- java - JTable 单元格编辑器功能不适用于第二行