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

如何使用Python实现两个CSV文件基于指定列的数据匹配关联

基于CSV列关联匹配并新增列的解决方案

需求说明

  • 两个CSV文件,需根据第一个文件的**D列(编码列)**与第二个文件的编码列匹配,在D列旁新增"详情"列,填入对应匹配内容
  • 支持动态变化的CSV内容,无需手动编写数据列表,适配数百条数据规模

实现代码(Python + Pandas)

Pandas是处理CSV批量数据的高效工具,以下代码无需硬编码数据,直接读取文件完成匹配:

import pandas as pd

# 读取两个CSV文件(替换为你的实际文件路径)
df_main = pd.read_csv("主文件.csv")
df_detail = pd.read_csv("详情匹配文件.csv")

# 以编码列为键关联数据,保留主文件所有行(适配动态变化内容)
df_merged = pd.merge(df_main, df_detail, on="编码", how="left")

# 调整列顺序:将"详情"列移到编码列右侧
code_col_pos = df_main.columns.get_loc("编码")
cols = df_main.columns.tolist()
cols.insert(code_col_pos + 1, "详情")
df_final = df_merged[cols]

# 保存结果CSV(避免Excel乱码)
df_final.to_csv("匹配结果.csv", index=False, encoding="utf-8-sig")

关键说明

  • 若两个CSV的编码列名不一致,可修改merge参数为left_on="主文件编码列名", right_on="详情文件编码列名"
  • how="left"会保留主文件所有行,无匹配的详情位置将显示空值,完全适配主文件动态更新的场景
  • utf-8-sig编码确保导出的CSV在Excel中正常显示,不会出现乱码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 17:01:19