CSV 差异对比工具

这款 CSV 对比工具专为新旧导出文件、CRM 快照、商品目录和 leads 列表而设计。它不会像传统逐行文本 diff 那样产生大量噪音,而是把每一行当作数据来比较,帮助你按 id 或 email 匹配行,并高亮真正发生变化的单元格。

原始 CSV
更新后的 CSV
上传两个 CSV 文件,选择行匹配方式,然后在此预览 diff。所有处理都在您的浏览器本地完成。
CSV 差异

差异预览

请上传两个 CSV 文件以预览 diff。

在此预览 CSV 差异
上传两个 CSV 文件并选择行匹配方式,此表将显示新增、移除、已更改和未更改的行。

面向真实业务数据的在线 CSV diff

这款 CSV 对比工具专为新旧导出文件、CRM 快照、商品目录和 leads 列表而设计。它不会像传统逐行文本 diff 那样产生大量噪音,而是把每一行当作数据来比较,帮助你按 id 或 email 匹配行,并高亮真正发生变化的单元格。

示例:按 id 比较两个 CSV 导出文件

这是比较早期导出文件与较新版本时最常见的 workflow。一个行保持不变,一个行发生变化,一个行消失,另一个新行出现。

原始 CSV
id,email,company,status,amount
1,anna@north.io,Northwind,lead,120
2,bob@atlas.io,Atlas,customer,250
3,carla@orbit.io,Orbit,lead,95
更新后的 CSV
id,email,company,status,amount
1,anna@north.io,Northwind,lead,120
2,bob@atlas.io,Atlas,customer,320
4,david@nova.io,Nova,lead,180
差异结果
status,key,changed_columns_count,summary
unchanged,1,0,No changes.
changed,2,1,Updated amount.
removed,3,0,Row exists only in the original CSV.
added,4,0,New row found in the updated CSV.

按 key column 比较 CSV 行

在线比较两个 CSV 文件时,最佳方式通常是按稳定的 key 匹配行,例如 `id`、`email`、`sku` 或 `uuid`。工具在检测到可能的 key column 时会自动推荐,但你也可以手动覆盖、选择多个 key column,或退回到整行比较。

当两个文件包含相同记录但顺序不同,或者导出之间列顺序被重新排列时,这一点尤其有用。

新增、删除、变更与未变更的行

diff 结果会将行划分为四种实用状态:新增、删除、变更和未变更。对于发生变更的行,预览会显示哪些列发生了变化,以及旧值与新值的对比。

这让该工具相比简单的 CSV 文本 diff 更实用,尤其是在你需要向非技术团队解释具体发生了什么变化时。

更精准比较所需的高级 CSV diff 设置

大多数在线 CSV diff 工具只提供一个基础的 compare 按钮。而这款工具在你需要按 key column 比较 CSV 文件、微调行的 join 方式、忽略仅格式层面的差异,或选择想下载的精确 diff 输出时,能提供更多控制能力。

为列名不同的 CSV 文件进行列映射

即使 CSV 文件中的列名不完全相同,您也可以进行比较。通过“列映射”设置,您可以在选择键列并运行差异比较之前,映射包含相同数据的字段,例如一个文件中的 `customer_id` 与另一个文件中的 `Customer ID`。

名称相同的列会自动以不区分大小写的方式匹配,因此 `Email`、`email` 和 `EMAIL` 可被视为同一字段。您可以检查自动映射结果、手动修改映射,也可以让部分列保持未映射状态,使其继续显示在行预览中,但不参与比较。

连接类型:全外连接、内连接或左连接

连接类型决定最终 CSV 差异结果中显示哪些行。默认使用全外连接,因为它会显示全部内容:已匹配行、新增行和已删除行。内连接仅保留两个文件中都存在的行。左连接以原始 CSV 为基准,适合主要查看哪些原始记录发生了变化或已消失的场景。

这对于“全外连接 CSV 比较”或“比较包含已删除行的新旧 CSV 文件”等搜索需求尤其有帮助,因为连接模式会改变差异结果的含义。

按 id、email、SKU 和多键匹配键列

如果您希望按 id、email、SKU、uuid 或其他标识符比较 CSV,键列设置是确保结果可靠的关键。该工具不会按照行的先后顺序匹配,而是根据所选键匹配记录,因此列顺序调整或行位置移动不会产生错误的差异。

当单个字段的唯一性不足时,您还可以使用多个键列。因此,该工具也适用于“按键列比较 CSV”或“按多列比较 CSV 文件”等更高级的搜索需求。

忽略空白字符、大小写和类 null 值的比较设置

实际导出的文件往往只有格式上的差异。一个文件可能包含多余空格、大写文本,或 `null`、`N/A`、空字符串等占位值。比较设置允许您在计算差异前忽略空白字符差异、忽略大小写,并将空值与类 null 值视为相等。

当用户需要比简单文本差异比较更高级的 CSV 比较工具时,这些选项非常重要。它们有助于减少干扰,让预览聚焦于实际的数据变化。

输出格式:摘要 CSV、已更改行 CSV 或完整差异 CSV

有些 workflow 只需要包含行状态和键的精简摘要;另一些则需要仅包含已更改行的 CSV,或将原始值与更新值并排展示的完整差异 CSV。您可以通过输出设置选择格式和分隔符,并决定导出的文件中是否保留未更改行。

这使该工具比许多免费的在线 CSV 差异比较工具更加灵活,因为导出结果可根据审计、业务评审、对账 workflow 或后续电子表格处理的需要进行定制。

在线比较大型 CSV 文件

该工具专为在线比较大型 CSV 文件而设计,无需尝试在浏览器中渲染每一行。它会计算完整的汇总数据,将预览限制在易于处理的样本范围内,同时仍允许您在之后下载完整的差异结果。

如果您需要一款适合大型导出文件的免费 CSV 差异比较工具,这正是本页面所提供的大文件 workflow。

兼容多种 CSV 编码

实际的 CSV 文件并不总是以普通 UTF-8 格式保存。该工具支持常见的电子表格和导出文件编码,包括 UTF-8、带 BOM 的 UTF-8、UTF-16 LE、UTF-16 BE、Windows-1252,以及 Latin-1 类型的文件。

当您需要在线比较来自 Excel、旧版业务软件或区域性导出系统的 CSV 文件时,这一点非常重要,因为这些文件原本可能会出现重音符号乱码或字符无法读取的问题。

差异数据表中的行号

按键列比较 CSV 文件时,差异数据表还可以显示每条匹配记录在源文件中的行号。如果该行的位置未发生变化,您会看到一个行号;如果记录移动过,表格会显示两个行号,方便您在两个文件中追溯该记录。

这对于审计、对账工作和支持案例非常实用,因为您不仅需要说明发生了哪些变化,还需要准确指出该行在原始 CSV 和更新后 CSV 中的来源位置。

基于浏览器的隐私处理

CSV 文件直接在您的浏览器中解析和比较。当您处理客户导出数据、收入快照、库存数据或其他应保留在本机的敏感电子表格时,这一点尤为重要。

由于查看结果前无需执行服务器端上传步骤,在线 CSV 差异比较也会更加快捷。

常见问题