CSV/TSV 数据对比

本地处理

按唯一列匹配 CSV/TSV,查找记录与字段变化。

按唯一匹配列比较旧文件 → 新文件,数据仅在当前浏览器内处理。

旧文件

文件仅在浏览器本地处理,不会上传

新文件

文件仅在浏览器本地处理,不会上传

首行必须为表头。扩展名仅建议分隔符,不猜测编码;CSV 和 TSV 可混合比较。每侧最多 10,000 条数据、64 列、200,000 个单元格,任意字段最多 64 KiB,表头最多 256 个码点。仅接受 UTF-8,可带起始 BOM。

选择两份文件后,点击「解析文件」。

使用指南

工具介绍

以一个唯一列识别两份 CSV/TSV 中的同一条记录,按旧文件 → 新文件查找新增、删除、修改和未变。支持双方不同分隔符、异名匹配列与一对一字段映射。

文件由当前浏览器的后台任务读取,不上传,不写入网址、控制台或统计事件,不自动保存。离页释放文件和结果;需要留存时请下载完整 JSON 报告。

使用步骤

  1. 选择双方 UTF-8 文件,分别核对逗号 CSV 或 Tab TSV,然后点击「解析文件」。
  2. 分别选择唯一匹配列,核对自动建议的同名字段映射,也可添加异名映射。匹配键不自动选择,至少保留一对普通比较字段。
  3. 点击「开始对比」,核对四类汇总及最多 50 条一页的预览。打开记录可查看来源数据序号和物理行范围;长字段可单独查看完整值。
  4. 下载完整 JSON 报告。报告包含全部四类结果、所有原始列和映射,不受页面筛选影响。修改输入或规则、取消任务后需要重新处理。

适用场景

  • 核对两次导出的商品或资产清单,通过唯一编号追踪选定字段的变化。
  • 比对排序不同、列位置不同或字段名称不同的两份数据导出。
  • 保留含前导零编号、大整数、空字段和多行文本的可追溯完整对比报告。

常见问题

支持 Excel、没有表头的表或重复键吗?
首版仅支持有表头的 UTF-8 CSV/TSV,不支持 XLSX、无表头、复合键、重复键合并或模糊匹配。每侧匹配列必须唯一;空字符串或仅由普通空格、Tab、不换行空格 U+00A0、全角空格 U+3000 组成的键会被拒绝。
如何判断修改和未变?
只比较映射字段的解析后字符串,不修剪空白、不改大小写、不规范化 Unicode、不转换数字或日期。001 与 1、空字符串与空格与文字 NULL 均不同。未变仅表示选定字段未变,未映射列仍在报告中。键改变表现为删除加新增。
引号和换行如何处理?
CSV/TSV 都支持双引号引用、两个双引号表示一个双引号,以及字段内分隔符和换行。外部 CRLF、LF、CR 都可分隔记录,字段内部换行原样保留。结束引号后有额外空格、未闭合引号、列数不符、NUL、无效 UTF-8 都会拒绝。
有哪些容量限制?
每侧文件最多 2 MiB、10,000 条数据记录、64 列、200,000 个单元格。空单元格也计数;字段最多 64 KiB UTF-8,表头最多 256 个 Unicode 码点。每次后台操作有 30 秒防挂起预算;完整报告最多 32 MiB,超限保留汇总与预览,不下载截断文件。这些限制不是设备性能承诺。
JSON 报告保留什么?
schemaVersion 为 1,保留双方文件元信息、完整表头、匹配列、映射与未映射列、汇总、全部结果以及每条存在记录的完整字段数组和来源位置。不存在一侧用 null,空字段用空字符串。所有字段都是字符串,HTML 或公式形文本不会执行。报告供留存和程序读取,不是可直接在 Excel 筛选的工作表。
报告顺序与原文件是否完全一样?
先按旧侧记录顺序列出删除、修改、未变,再按新侧顺序追加新增。保留解析后的文本,不承诺还原 BOM、原始引号写法或记录外换行。只有表头的文件有效,双方均无数据时可导出 records 为空数组的报告。

从样例开始

  • 加载样例后解析,双方选 id 为键,保留 name / price 比较
  • 预期新增、删除、修改、未变各 1 条,变化字段 1 个;报告依次为 001 修改、002 删除、003 未变、004 新增

严格保留文本

  • 表头精确比较:id 与带空格的 id 不同;空或重复表头无效
  • 预览用 JSON 字符串转义形式区分空字段、换行和引号;长字段省略会明确标示

任务与导出

  • 文件和规则仅保留在当前页面;取消会终止 Worker,重新开始按现有规则解析
  • 完整报告包含所有原始列和四类记录;筛选只影响页面,不影响导出范围

相关工具