为某列的每个值编写多个Excel文件

2024-09-30 01:29:34 发布

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

考虑以下数据帧:

data = {'Col_A': [3, 2, 1, 0], 'Col_B': ['a', 'b', 'a', 'b']}
df = pd.DataFrame.from_dict(data)

我可以创建dataframa a并将其写入Excel,如下所示:

a = df[df.Col_B == 'a']
a
a.to_excel(excel_writer = 'F:\Desktop\output.xlsx', index = False)

我正在寻找一种方法来为B列的每个值编写一个Excel文件。实际上,B列有数百个值。有没有一种方法可以循环使用?你知道吗

非常感谢您的帮助!你知道吗

谨致问候

M


Tags: to数据方法fromdataframedfdatacol
2条回答

你可以做:

for i in df.Col_B.unique():
    df[df.Col_B.eq(i)].to_excel('F:\Desktop\output'+i+'.xlsx',index=False)

如果需要为每个组按groupby对象进行单独的excel文件循环:

for i, a in df.groupby('Col_B'):
    a.to_excel(f'F:\Desktop\output_{i}.xlsx', index = False)

如果需要在一个exel文件中为每个组指定单独的sheetname,请使用^{}

with pd.ExcelWriter('output.xlsx') as writer:
    for i, a in df.groupby('Col_B'):
        a.to_excel(writer, sheet_name=i, index = False)

相关问题 更多 >

    热门问题