![](/img/trans.png)
[英]Python/Pandas: Loop to append Excel files ONLY if each Excel file contains certain values
[英]Write multiple Excel files for each value of certain column Python Pandas
考虑以下数据帧:
data = {'Col_A': [3, 2, 1, 0], 'Col_B': ['a', 'b', 'a', 'b']}
df = pd.DataFrame.from_dict(data)
我可以创建一个数据框架a并将其写入Excel,如下所示:
a = df[df.Col_B == 'a']
a
a.to_excel(excel_writer = 'F:\Desktop\output.xlsx', index = False)
我正在寻找一种写B列每个值的Excel文件的方法。实际上,Col_B有数百个值。 有没有办法解决这个问题?
任何帮助是极大的赞赏!
问候,
M.
如果需要为每个组分别按groupby
对象单独的excel文件循环:
for i, a in df.groupby('Col_B'):
a.to_excel(f'F:\Desktop\output_{i}.xlsx', index = False)
如果需要在一个exel文件中为每个组单独的工作表名称,请使用ExcelWriter
:
with pd.ExcelWriter('output.xlsx') as writer:
for i, a in df.groupby('Col_B'):
a.to_excel(writer, sheet_name=i, index = False)
你可以做:
for i in df.Col_B.unique():
df[df.Col_B.eq(i)].to_excel('F:\Desktop\output'+i+'.xlsx',index=False)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.