根据条件在excel工作表和不同excel文件中保存多个数据框

2024-04-25 02:18:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我能够在多张excel表格中保存多个数据框

    writer = pd.ExcelWriter('Cloud.xlsx', engine='xlsxwriter')
    
    
    frames = {'Image': df1, 'Objects': df2,  'Text': df3 , 'Labels': df4}
    
    for sheet, frame in  frames.items():
        frame.to_excel(writer, sheet_name = sheet)

writer.save()

现在我想基于dataframes列创建多个文件。例如,我想创建4个excel文件:

df1

Category              URL          Obj
A               example.com       Chair
A               example2.com      table
B               example3.com      glass
B               example4.com      tv

因此,我的所有datframes都有7个类别,我想基于该类别创建7个文件


1条回答
网友
1楼 · 发布于 2024-04-25 02:18:46

我认为你需要:

frames = {'Image': df1, 'Objects': df2,  'Text': df3 , 'Labels': df4}

for sheet, frame in  frames.items():
    for cat, g in frame.groupby('Category'):
        # if file does not exist
        if not os.path.isfile(f'{cat}.xlsx'):
            writer = pd.ExcelWriter(f'{cat}.xlsx')
        else: # else it exists
            writer = pd.ExcelWriter(f'{cat}.xlsx', mode='a', engine='openpyxl')

        g.to_excel(writer, sheet_name = sheet)
        writer.save()

相关问题 更多 >