将多个 Pandas 数据框写入多个 Excel 工作表 [英] Writing multiple pandas dataframes to multiple excel worksheets
本文介绍了将多个 Pandas 数据框写入多个 Excel 工作表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望代码通过循环运行 12345,将其输入到工作表中,然后从 54321 开始并执行相同的操作,除了将数据帧输入到新工作表但在同一个工作簿中.下面是我的代码.
I'd like for the code to run 12345 thru the loop, input it in a worksheet, then start on 54321 and do the same thing except input the dataframe into a new worksheet but in the same workbook. Below is my code.
workbook = xlsxwriter.Workbook('Renewals.xlsx')
groups = ['12345', '54321']
for x in groups:
(Do a bunch of data manipulation and get pandas df called renewals)
writer = pd.ExcelWriter('Renewals.xlsx', engine='xlsxwriter')
worksheet = workbook.add_worksheet(str(x))
renewals.to_excel(writer, sheet_name=str(x))
运行时,我只剩下一个只有 1 个工作表 (54321) 的工作簿.
When this runs, I am left with a workbook with only 1 worksheet (54321).
推荐答案
尝试这样的事情:
import pandas as pd
#initialze the excel writer
writer = pd.ExcelWriter('MyFile.xlsx', engine='xlsxwriter')
#store your dataframes in a dict, where the key is the sheet name you want
frames = {'sheetName_1': dataframe1, 'sheetName_2': dataframe2,
'sheetName_3': dataframe3}
#now loop thru and put each on a specific sheet
for sheet, frame in frames.iteritems(): # .use .items for python 3.X
frame.to_excel(writer, sheet_name = sheet)
#critical last step
writer.save()
这篇关于将多个 Pandas 数据框写入多个 Excel 工作表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文