You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将DataFrame按city列拆分保存至Excel不同工作表?

按City分组将DataFrame写入同一Excel的不同工作表

不需要手动创建工作表,用pandas的ExcelWriter即可动态实现多工作表写入,具体步骤如下:

1. 安装依赖库

根据你要保存的Excel格式安装对应引擎:

  • 保存为.xlsx格式:执行 pip install openpyxl
  • 保存为.xls格式:执行 pip install xlwt

2. 实现代码

import pandas as pd

# 假设你的DataFrame已定义为df
output_file = path_to_output + 'city_data.xlsx'

# 创建Excel写入对象,指定对应引擎
with pd.ExcelWriter(output_file, engine='openpyxl') as writer:
    # 按city列分组,遍历每个城市的子数据集
    for city_name, group_data in df.groupby('city'):
        # 将子数据集写入以城市名命名的工作表
        group_data.to_excel(writer, sheet_name=city_name, index=False)

关键说明

  • pd.ExcelWriter:作为多工作表写入的核心对象,with语句会自动处理文件的打开与关闭,避免资源泄漏
  • df.groupby('city'):按city列拆分原DataFrame,得到每个城市对应的独立子数据集
  • sheet_name=city_name:动态创建以城市名称命名的工作表,无需提前手动创建

注意事项

  • Excel工作表名称不能包含/ \ : * ? " < > |特殊字符,如果你的city列存在这类字符,需要先做清洗,例如:city_name = city_name.replace('/', '_')
  • 如果需要保留原DataFrame的索引,去掉代码中的index=False参数

内容的提问来源于stack exchange,提问作者bravopapa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 19:10:32