CSV 按主键对账
按唯一主键比较两份较小的 CSV,查看新增、删除与变化单元格。
浏览器本地处理输入文件或文本输出JSON / CSV两份 UTF-8 CSV,每份最多 1 MiB
- 1添加输入
- 2调整设置
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
粘贴或导入旧版和新版 UTF-8 CSV,选择两侧共有的唯一主键,再按列查看新增、删除与修改记录。行顺序变化不影响比较。
如何使用
- 粘贴或导入带表头的旧版和新版 UTF-8 CSV,核对行列数。
- 选择两侧共有的主键列;先修正空键或重复键。
- 查看新增、删除、修改记录数及变化单元格、列结构差异,再下载 JSON 或 CSV 报告。
支持范围与限制
每侧最多 1 MiB UTF-8 CSV 文本,解析单元格最多 20 万。两侧都须有表头及同名主键列,键值在本侧须非空且唯一。
主键和单元格按原字符串比较:前导零、空格及大小写都有区别。只逐格比较两侧同名的非主键列;新增/删除列名另行列出。
页面最多预览 100 条新增/删除记录、200 个变化单元格和 12 列;完整差异可下载 JSON,有内容时还提供分开的 CSV。CSV 导出会给可能被表格软件当公式执行的值加单引号;JSON 保留源字符串。不会上传文件或自动更新主表。
JSON 导出完整新增/删除记录与共同列的全部变化单元格;修改记录不导出为并排的完整旧/新行。
操作示例
示例输入
id,name 001,Ada 002,Bo 新版 CSV: id,name 001,Ada Lovelace 003,Cy
示例参数
{"key": "id"}示例输出
{
"added": [
{
"id": "003",
"name": "Cy"
}
],
"removed": [
{
"id": "002",
"name": "Bo"
}
],
"changed": [
{
"key": "001",
"cells": [
{
"column": "name",
"before": "Ada",
"after": "Ada Lovelace"
}
]
}
],
"columnsAdded": [],
"columnsRemoved": []
}出现问题时
使用两份各低于 1 MiB、行宽一致的 UTF-8 CSV,主键在每侧均须非空且唯一,并选择双方共有的列名;数据太大时先缩小范围。
常见问题
仅行顺序变化会算作差异吗?
不会。记录按所选唯一主键的原字符串匹配,前导零有区别;其他同名列按字符串比较。
能把差异下载成 CSV 吗?
可以。有内容时,新增记录、删除记录和变化单元格各有单独 CSV 下载;完整 JSON 还包括新增/删除列名。CSV 导出会给公式式值加单引号。
能自动更新主表或比较很大的导出吗?
不能。它只报告差异,不改写源文件。每侧最多 1 MiB、20 万解析单元格;更大导出需要其他流程。