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

按Name列拆分DataFrame并导出为多个Excel文件

解决方案

方法一:使用pandas的groupby(推荐)

这是最简洁高效的实现方式,利用groupby按Name自动分组,直接遍历每个分组导出到独立Excel文件:

import pandas as pd

# 假设你的DataFrame变量名为df
for name, group in df.groupby('Name'):
    # 以Name作为文件名导出,index=False避免写入多余的索引列
    group.to_excel(f'{name}.xlsx', index=False)

说明

  • 由于你的DataFrame已经按Name排序,groupby会快速将同Name的记录归为一组,无需额外处理
  • 文件名直接用对应Name命名,方便识别和查找

方法二:改进你的循环逻辑

如果坚持基于循环实现,需要修复原代码的索引越界问题和拼写错误,同时记录每个Name组的起止行:

import pandas as pd

start_row = 0  # 记录每个Name组的起始行索引

for row in range(len(df)):
    # 处理两种触发导出的情况:当前是最后一行,或当前行Name与下一行不同
    if row == len(df) - 1 or df['Name'][row] != df['Name'][row + 1]:
        # 截取当前Name组的子DataFrame
        current_group = df.iloc[start_row:row+1]
        # 导出到Excel
        current_group.to_excel(f'{df["Name"][row]}.xlsx', index=False)
        # 更新下一个组的起始行
        start_row = row + 1

说明

  • 修复了原代码中df['Namename']的拼写错误,改为正确的df['Name']
  • 增加了对最后一行的判断,避免row+1超出DataFrame索引范围导致报错
  • 通过start_row记录每个组的起始位置,确保每个Name的所有连续记录都被正确截取导出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 16:32:18