如何将字典中存储的dataframe导出到同一个Excel文件的不同工作表
实现方法
你不需要手动逐个提取字典里的DataFrame,直接遍历字典的键值对就可以批量写入不同工作表,完全匹配字典key作为工作表名称,代码如下:
基础版本(保留字典原key作为工作表名)
import pandas as pd # 你的原有分组逻辑,得到存储多DataFrame的字典 dict_of_regions = dict(data.groupby('blok')) # 批量导出到同个Excel的不同工作表 with pd.ExcelWriter(r'C:\Users\Desktop\to_excel.xlsx') as writer: for sheet_name, df in dict_of_regions.items(): # 不需要导出DataFrame行索引的话,可以加index=False参数 df.to_excel(writer, sheet_name=sheet_name)
适配你的示例场景(处理key首尾多余空格)
你示例中字典的hr对应key带有末尾空格'hr ',如果要和你手动导出的sheet名hr一致,可以对key做去空格处理:
with pd.ExcelWriter(r'C:\Users\Desktop\to_excel.xlsx') as writer: for sheet_name, df in dict_of_regions.items(): # 去除key首尾空格后作为工作表名 df.to_excel(writer, sheet_name=sheet_name.strip())
注意事项
- Excel工作表名称最多支持31个字符,若你的字典key长度超过31,建议提前做截断处理,避免重名或写入失败
- Excel工作表名不支持包含
\ / : * ? " < > |这些特殊字符,若key存在以上字符建议提前替换 - 路径字符串前加
r可以避免转义符问题,不需要写双反斜杠
内容的提问来源于stack exchange,提问作者Mika
相关产品推荐
相关产品推荐

