回答于 2025-10-16
markdown
如何将多行相同数据合并为一行?
✅ 通用思路(以常见工具为例):
-
Excel/WPS表格:选中需要合并的列 → 点击「数据」选项卡下的「删除重复项」,勾选“仅保留唯一值”即可自动去重合并。或者用公式
=UNIQUE(A:A)(新版本支持直接生成唯一列表)。 -
Python(Pandas库):读入CSV后,对指定列调用
drop_duplicates()方法,再保存结果。示例代码: python import pandas as pd df = pd.read_csv("data.csv") df_merged = df.drop_duplicates(subset="目标列名", keep='first') # keep可选last或False全删 df_merged.to_csv("merged.csv", index=False) -
SQL语句:使用
GROUP BY+ 聚合函数(如MAX/MIN),例如: sql SELECT column1, MAX(column2), ... FROM table GROUP BY column1; -
命令行工具(awk/sed):临时排序后去重,比如Linux下用
sort file.txt | uniq > output.txt。
📌 注意事项:
- 如果其他关联字段也需要同步处理(非单纯去重),建议优先用数据库操作;
- 大数据量时避免全表加载到内存,可分块读取处理;
- 确认业务逻辑是否需要保留第一条/最后一条记录(通过
keep='first'/last'参数控制)。
💡 举个栗子🌰:
原始文本文件内容:
apple,red banana,yellow apple,green orange,orange
执行 sort -t ',' -k1,1 file.txt | uniq 后得到:
apple,red banana,yellow orange,orange
(默认保留首次出现的条目)