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

Python中如何基于一个CSV文件重写另一个CSV的匹配行

CSV合并实现方案

方法1:Python实现(跨平台,新手友好)

思路很简单:先把file1的内容按前两列做成映射表,再遍历file2的内容做匹配替换即可,不需要额外安装第三方库。

完整代码

import csv

# 构建file1的映射字典:key为前两列的组合,value为file1的完整行内容
file1_map = {}
with open("file1.csv", "r", encoding="utf-8") as f1:
    reader = csv.reader(f1)
    for row in reader:
        map_key = (row[0], row[1])
        file1_map[map_key] = row

# 遍历file2做匹配输出
with open("file2.csv", "r", encoding="utf-8") as f2, open("result.csv", "w", encoding="utf-8", newline="") as res:
    reader = csv.reader(f2)
    writer = csv.writer(res)
    for row in reader:
        current_key = (row[0], row[1])
        # 匹配到就用file1的行,否则保留file2原行
        writer.writerow(file1_map.get(current_key, row))

使用说明

把代码里的file1.csv、file2.csv换成你自己的文件实际路径,运行后生成的result.csv就是你需要的最终文件。

方法2:Awk命令实现(适合Linux/macOS用户,无需写代码)

直接在终端运行以下一行命令即可得到结果:

awk -F ',' 'NR==FNR{map[$1","$2]=$0;next} {print map[$1","$2] ? map[$1","$2] : $0}' file1.csv file2.csv > result.csv

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 18:57:02