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

如何用Python/Excel按ID分组将条码合并为单行逗号分隔格式

实现方法:同一ID对应Barcode合并为单行(逗号分隔)

Excel 实现方式

方法1:TEXTJOIN 函数(Excel 2019/365 及以上版本)

假设ID列是A列,Barcode列是B列,在空白列(比如C列)的第一个数据行输入:
=TEXTJOIN(",",TRUE,IF($A$2:$A$100=A2,$B$2:$B$100,""))

  • Excel 2019及之前版本按 Ctrl+Shift+Enter 执行数组公式,新版本直接回车即可
  • 公式说明:TEXTJOIN 用逗号连接符合条件的Barcode,IF 筛选出当前ID对应的所有Barcode,TRUE 参数忽略空值

方法2:Power Query(全版本通用)

  1. 选中数据区域,点击「数据」选项卡 → 「从表格/区域」(将数据导入Power Query编辑器)
  2. 在编辑器中,点击「转换」选项卡 → 「分组依据」
  3. 分组依据选择「ID」,新列名设为「合并Barcode」,操作选择「行」→「合并」,分隔符输入逗号
  4. 点击确定后,点击「关闭并上载」,即可得到合并后的表格

Python 实现方式(用Pandas库)

直接用Pandas的分组聚合功能,代码示例如下:

import pandas as pd

# 示例数据(也可通过pd.read_excel/pd.read_csv读取本地文件)
data = {
    "ID": ["001", "001", "002", "002", "003"],
    "Barcode": ["BC001", "BC002", "BC001", "BC003", "BC002"]
}
df = pd.DataFrame(data)

# 分组合并
result = df.groupby("ID")["Barcode"].agg(lambda x: ",".join(x)).reset_index()

print(result)
  • 运行后输出:
ID      Barcode
0  001  BC001,BC002
1  002  BC001,BC003
2  003        BC002
  • 说明:groupby("ID") 按ID分组,agg(lambda x: ",".join(x)) 将每组的Barcode用逗号连接成字符串,reset_index() 把分组后的索引转为普通列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 11:32:08