为了账号安全,请及时绑定邮箱和手机立即绑定

Python/Pandas:使用“for 循环”将多个数据帧写入 Excel 工作表

Python/Pandas:使用“for 循环”将多个数据帧写入 Excel 工作表

哆啦的时光机 2021-12-26 10:58:41
我无法想象之前没有问过这个问题,但我无法在这里找到答案:我得到了一个 Excel 文件作为数据框并在其上使用了 Dataframe.groupby。现在我想使用每个组的不同工作表将每个组保存到一个新的 Excel 文件中。我所能做的就是创建很多新文件,每个文件中都有一个组。我的新“解决方案”什么也没做。df = pd.read_excel(file)neurons = df.groupby("Tags")#writing Keys into a listtags = neurons.groups.keys()tags = list(tags)for keyInTags in tags:     cells = group.get_group(keyInTags)     cells.to_excel("final.xlsx", sheet_name=keyInTags)我没有收到错误,但也没有收到新文件或写入现有文件。
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

实际上,我相信这是一个更好的解决方案。用以下代码替换您的 for 循环:


writer = pd.ExcelWriter('excel_file_name.xlsx')


for keyInTags in tags:

     cells = group.get_group(keyInTags)

     cells.to_excel(writer, sheet_name=keyInTags)


writer.save()

writer.close()


查看完整回答
反对 回复 2021-12-26
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

对于仍在寻找的人来说,这是一个更清洁的解决方案:


import pandas as pd


df = pd.read_excel("input.xlsx")


with pd.ExcelWriter("output.xlsx") as writer:

    for name, group in df.groupby("column_name"):

        group.to_excel(writer, index=False, sheet_name=name[:31])


查看完整回答
反对 回复 2021-12-26
  • 2 回答
  • 0 关注
  • 421 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信