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

使用Pandas匹配两个CSV文件公共列并合并对应行数据的实现方法

CSV按NAME列合并实现方案

以下提供3种不同场景下的实现方式:

1. Python实现(灵活适配各类复杂场景、大文件处理)

需要先安装pandas依赖:
pip install pandas
执行代码:

import pandas as pd

# 替换为你本地的文件路径
df_id = pd.read_csv('file1.csv')
df_comment = pd.read_csv('file2.csv')

# 按NAME列合并,inner模式仅保留两边都匹配成功的行
merge_result = pd.merge(df_id, df_comment, on='NAME', how='inner')

# 输出结果到新文件,关闭自动索引写入
merge_result.to_csv('merged_result.csv', index=False)

如果需要保留单侧全部数据,可将how参数修改为left(保留左侧文件全部行)、right(保留右侧文件全部行)、outer(保留两边全部行)。

2. Linux/macOS 命令行实现(无需代码,快速处理小文件)

使用系统自带的join命令即可完成,你给出的样例已经按NAME列预先排序,直接执行:

join -t ',' -1 2 -2 1 file1.csv file2.csv | awk -F ',' 'BEGIN{OFS=","}{print $2,$1,$3}' > merged_result.csv

参数说明:

  • -t ',' 指定csv分隔符为逗号
  • -1 2 取第一个文件的第2列(NAME)作为匹配键
  • -2 1 取第二个文件的第1列(NAME)作为匹配键
  • 后续awk命令用于调整列顺序,输出ID、NAME、COMMENTS的顺序

如果你的文件未预先按NAME排序,先执行排序操作再合并:

sort -t ',' -k2 file1.csv > file1_sorted.csv
sort -t ',' -k1 file2.csv > file2_sorted.csv
join -t ',' -1 2 -2 1 file1_sorted.csv file2_sorted.csv | awk -F ',' 'BEGIN{OFS=","}{print $2,$1,$3}' > merged_result.csv

3. 办公软件实现(适合无代码基础用户)

用Excel/WPS表格操作即可:

  • 将两个CSV文件分别导入到同一个工作簿的两个工作表中
  • 在第一个工作表(含ID、NAME)的C1单元格输入表头COMMENTS
  • 在C2单元格输入公式:=VLOOKUP(B2, 第二个工作表名!A:B, 2, FALSE)
  • 下拉C2单元格填充所有行,即可自动匹配得到对应的COMMENTS
  • 最后将当前工作表的三列数据另存为CSV格式即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:39:02