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

如何用Python从另一CSV文件为目标CSV添加匹配的Service列?

嘿,这个根据ID匹配添加列的需求其实挺常见的,我给你两种实用的解决办法,不管你习惯写代码还是用Excel手动操作都能搞定:

方法1:用Python Pandas快速批量处理

如果你熟悉Python,用Pandas库可以几行代码搞定,效率特别高:

首先确保你已经安装了Pandas,打开终端运行:

pip install pandas

然后创建一个Python脚本(比如match_service.py),写入以下代码:

import pandas as pd

# 读取两个CSV文件(如果你的CSV是空格分隔,记得加sep='\s+'参数)
services_df = pd.read_csv('services.csv')
test_df = pd.read_csv('test.csv')

# 根据ServiceID进行左连接,把services里的Service列匹配到test表中
merged_df = pd.merge(test_df, services_df, on='ServiceID', how='left')

# 保存更新后的文件,index=False是避免生成额外的索引列
merged_df.to_csv('updated_test.csv', index=False)

运行脚本后,你会得到一个updated_test.csv,里面已经包含匹配好的Service列了。how='left'的作用是保证test.csv里的所有行都能保留,哪怕有ServiceID在services.csv里找不到的情况(当然你的数据里应该都是能匹配上的)。

方法2:用Excel的VLOOKUP手动匹配

如果你不想写代码,用Excel自带的VLOOKUP函数也能轻松实现:

  1. 同时打开test.csv和services.csv两个文件
  2. 在test.csv里找到第一个空白列(比如原表最后一列是Lon,后面的空列),在第一行数据对应的单元格(比如第2行的空白列单元格)输入公式:
=VLOOKUP(C2, [services.csv]Sheet1!$A:$B, 2, FALSE)

公式解释:

  • C2:test.csv里当前行的ServiceID所在单元格(因为你的test.csv里ServiceID是第3列,对应Excel的C列)
  • [services.csv]Sheet1!$A:$B:services.csv里的ServiceID和Service列范围
  • 2:要提取的是services.csv里的第2列(也就是Service列)
  • FALSE:表示精确匹配
  1. 把这个公式下拉填充到所有行,就能自动匹配出每一行对应的Service内容了
  2. 最后可以把公式转换成数值(选中Service列→右键→复制→右键→选择性粘贴→数值),再保存文件即可

小提示: 如果你的CSV文件是用空格分隔的,在Excel导入的时候要选择「空格」作为分隔符,确保列能正确识别。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 03:56:03