将多个Pandas数据框写入多个Excel工作表

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)。

Sam*_*Sam 5

尝试这样的事情:

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)

  • 仅供参考,用户需要单独安装“xlsxwriter”。安装 pandas 时不会直接安装。 (3认同)