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

如何以ID为标识对两张行数不同的Excel/CSV表取交集,避免手动操作?

两张表按Id取交集合并的可行实现方案

你需要对Excel、CSV两张表以Id为关联字段做内连接(取匹配行的交集),合并两张表的对应字段,以下是几种可直接落地的实现方法:

方案1:Excel Power Query(无代码,适合普通用户)

  • 打开Excel,点击「数据」选项卡,选择「获取数据」->「自文件」,分别导入你的Excel表和CSV表,加载到Power Query编辑器
  • 任选其中一张表,点击「合并查询」->「合并查询」,在弹出窗口中按以下步骤操作:
    • 上部选择当前操作的表,点击选中Id字段作为关联键
    • 下部选择另一张待合并的表,同样点击选中Id字段
    • 连接种类选择「内连接(仅限匹配的行)」,点击确定
  • 点击新生成的合并列右侧的展开按钮,勾选你需要保留的另一张表的字段,可按需取消勾选「使用原始列名作为前缀」
  • 调整字段顺序后,点击「关闭并上载」即可将合并后的结果导出到Excel表格中

方案2:Python Pandas(适合批量处理、数据量较大的场景)

首先安装所需依赖:
pip install pandas openpyxl
运行以下代码即可完成合并,替换代码中的文件路径为你本地文件的实际路径:

import pandas as pd

# 读取两张源表
df_excel = pd.read_excel("你的表1路径.xlsx")
df_csv = pd.read_csv("你的表2路径.csv")

# 按Id字段做内连接,仅保留两张表Id匹配的行
df_merge_result = pd.merge(df_excel, df_csv, on="Id", how="inner")

# 导出结果,可选择导出为Excel或CSV格式
df_merge_result.to_excel("合并结果.xlsx", index=False)
# df_merge_result.to_csv("合并结果.csv", index=False)

方案3:SQLite命令行(适合熟悉SQL语法的用户)

  • 先安装SQLite工具,将Excel表导出为CSV格式,打开命令行进入文件所在目录后执行sqlite3进入交互界面
  • 依次执行以下命令完成合并导出:
-- 导入CSV格式的两张表
.mode csv
.import 表1.csv table_excel
.import 表2.csv table_csv
-- 执行内连接查询并将结果导出为CSV
.mode csv
.output 合并结果.csv
SELECT * FROM table_excel INNER JOIN table_csv ON table_excel.Id = table_csv.Id;
.output stdout
注意事项
  • 若两张表存在Id以外的同名字段,合并时会自动添加后缀区分,你可以根据需求手动调整字段名
  • 合并前请确保两张表的Id字段类型一致(比如同为数字类型或同为文本类型),避免因格式不一致导致匹配失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:39:04