Mil*_*use 2 python pandas xlsxwriter
我希望代码在循环中运行12345,将其输入工作表中,然后从54321开始并执行相同的操作,只是将数据框输入到新的工作表中,但在同一工作簿中。下面是我的代码。
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))
Run Code Online (Sandbox Code Playgroud)
运行此命令后,剩下的工作簿只有1个工作表(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()
Run Code Online (Sandbox Code Playgroud)