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

如何基于共同Sentences列匹配两个CSV文件并填充Description字段

实现代码

import pandas as pd

# 读取文件1,仅保留需要匹配的Sentences列(原Description列为空不需要读取)
df1 = pd.read_csv(r'1.csv', usecols=['Sentences'])
# 读取文件2,保留Sentences匹配列和对应的Description列
df2 = pd.read_csv(r'2.csv', usecols=['Description', 'Sentences'])

# 按Sentences列做内连接,仅保留两边匹配的行,自动关联对应Description
df3 = pd.merge(df1, df2, on='Sentences', how='inner')

# 输出结果到文件3
df3.to_csv(r'3.csv', index=False, encoding='utf-8-sig')

# 打印结果验证
print(df3)

原代码存在的问题

  • 读取文件时只保留了Sentences列,把文件2中需要用到的Description列丢弃了,无法提取对应值
  • equals方法用于判断两个Series的长度、顺序、所有值完全一致才返回True,你的两个文件Sentences列长度不同、内容也不完全一致,这个判断没有意义
  • 用iterrows双重循环遍历匹配效率极低,且i==j的判断逻辑错误,iterrows返回的是(索引, 行数据)的元组,不能直接这样比对
  • j <> ""是Python2的语法,Python3中已经废弃,统一使用!=做不等判断

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:06:03