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

Python新手求助:将CSV特定行合并至列,邮件用逗号分隔

Python处理CSV邮件内容合并转移方案

前置准备

先安装处理CSV的工具库pandas:

pip install pandas

核心代码

假设你的CSV里,用来区分同一组数据的列是ID(比如每个ID对应多条邮件行),存储邮件的列名为Email。这段代码会把同一ID下的所有邮件合并成逗号分隔的字符串,放到新列中,同时保留每组的主记录信息:

import pandas as pd

# 读取源CSV文件,替换成你的文件路径
df = pd.read_csv("你的源文件.csv")

# 按ID分组,将同一组的邮件合并为逗号分隔的字符串
merged_emails = df.groupby("ID")["Email"].agg(", ".join).reset_index()
merged_emails.rename(columns={"Email": "合并邮箱"}, inplace=True)

# 合并回原数据,仅保留每组第一条记录的其他字段
final_result = df.drop_duplicates(subset="ID", keep="first").merge(merged_emails, on="ID")

# 保存处理后的CSV,用utf-8-sig避免Excel打开乱码
final_result.to_csv("处理后的文件.csv", index=False, encoding="utf-8-sig")

自定义调整说明

  • 如果你的分组标识列不是ID,把代码里所有的"ID"替换成实际列名(比如订单号、客户编号)
  • 若邮件列存在空白值,想过滤后再合并,将分组合并那行改成:
    merged_emails = df.groupby("ID")["Email"].agg(lambda x: ", ".join(x.dropna())).reset_index()
    
  • 要是不需要保留原Email列,添加一行代码删除:final_result.drop("Email", axis=1, inplace=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 07:10:27