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

如何按CSV文件A列相同值分组,用短横线连接B列值?

没问题,我来给你几种实用的实现方案,你可以根据自己熟悉的工具来选择:

方法一:用Python实现(最灵活)

如果你会写代码,Python是最灵活的选择,这里给你两种方式:

方式1:用Pandas库(简洁高效)

Pandas处理分组和拼接非常方便,代码如下:

import pandas as pd

# 替换成你的CSV文件路径
df = pd.read_csv("your_data.csv", names=["A", "B", "C"])

# 按A列分组,将每组的B列值转为字符串后用"-"连接
result = df.groupby("A")["B"].apply(lambda x: "-".join(x.astype(str))).tolist()

print(result)
# 输出正好是你要的格式:['2-257-258-8-260', '24-26-234', '14-22-78']

方式2:用Python标准库(无需额外安装)

如果不想安装Pandas,用自带的csv和collections模块也能实现:

import csv
from collections import defaultdict

# 用来存储每个A值对应的B列列表
grouped_b = defaultdict(list)

# 读取CSV文件
with open("your_data.csv", "r") as file:
    csv_reader = csv.reader(file)
    for row in csv_reader:
        a_value = row[0]
        b_value = row[1]
        grouped_b[a_value].append(b_value)

# 拼接每组的B值
final_result = ["-".join(b_list) for b_list in grouped_b.values()]
print(final_result)
方法二:用Excel实现(适合非代码场景)

如果你习惯用Excel,可以用Power Query或者数组公式来完成:

方式1:Power Query(可视化操作)

  1. 打开Excel,点击「数据」选项卡 → 「自文本/CSV」,导入你的CSV文件
  2. 在Power Query编辑器中,选中A列 → 点击「转换」选项卡 → 「分组依据」
  3. 分组设置:新列名填「合并B列」,操作选择「所有行」,点击确定
  4. 点击新列右侧的展开按钮 → 选择「提取值」,分隔符选「-」,点击确定
  5. 最后点击「关闭并上载」,就能得到分组后的拼接结果,再手动整理成你要的数组格式即可

方式2:Excel 365数组公式

如果你的Excel是365版本,可以直接用公式实现:
假设数据在A1:C10区域,输入以下公式(按回车即可,无需Ctrl+Shift+Enter):

=BYROW(UNIQUE(A:A), LAMBDA(x, TEXTJOIN("-", TRUE, FILTER(B:B, A:A=x))))

公式会自动生成每个A值对应的B列拼接结果,之后你可以用TEXTJOIN把这些结果包装成你要的数组字符串。

方法三:用命令行工具awk实现(适合Linux/macOS用户)

如果你熟悉终端命令,用awk可以快速处理:

# 先输出分组拼接后的内容
awk -F',' '{arr[$1] = arr[$1] (arr[$1] ? "-" : "") $2} END {for (key in arr) print arr[key]}' your_data.csv

如果要直接输出你要的数组格式,用这个命令:

awk -F',' '{arr[$1] = arr[$1] (arr[$1] ? "-" : "") $2} END {printf "["; first=1; for (key in arr) {if (!first) printf ", "; printf "\"%s\"", arr[key]; first=0} printf "]\n"}' your_data.csv

内容的提问来源于stack exchange,提问作者Mohammad Kazemi-Beydokhti

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:40:24