如何将DataFrame中按日期和小时分组的行导出至单独Excel文件?
按Date和Hour组合分组导出Excel的Python实现
所需依赖
先安装必要的Python库:
pip install pandas openpyxl
核心代码实现
import pandas as pd # 读取带筛选的Excel文件(用openpyxl引擎支持xlsx格式) df = pd.read_excel("你的Excel文件路径.xlsx", engine="openpyxl") # 按date和hour的组合分组 groups = df.groupby(["date", "hour"]) # 遍历每个分组,导出为单独Excel文件 for (date_val, hour_val), group_data in groups: # 处理文件名:把小时里的冒号换成横杠,避免系统文件名报错 safe_hour = hour_val.replace(":", "-") # 生成文件名,比如"2024-05-20_00-00.xlsx" output_filename = f"{date_val}_{safe_hour}.xlsx" # 导出分组数据,不包含索引列 group_data.to_excel(output_filename, index=False, engine="openpyxl") print(f"完成导出: {output_filename}")
注意事项
- 如果
date列是日期时间类型,生成文件名时可以用格式化字符串统一格式,比如date_val.strftime("%Y-%m-%d") - 导出的文件默认不会保留原Excel的筛选下拉框,如果需要添加筛选功能,需要额外用
openpyxl操作工作表对象,新手可以先完成核心分组导出需求 - 确保文件路径正确,若Excel和脚本在同一文件夹,直接写文件名即可
内容的提问来源于stack exchange,提问作者SOURA ELLE
相关产品推荐
相关产品推荐

