商品 Feed 对比
把昨天的导出放左边,今天的放右边。行按 SKU 匹配,所以排序不同不会产生任何差异 —— 只有真正的改动才会出现。
🔒 你的数据不会离开浏览器 —— 两份文件都在这里比对。
为什么普通的 diff 对商品 feed 毫无用处
文本 diff 工具是逐行比较的。而商品导出根本不保持行序:平台换了排序方式、删掉一件商品导致下面全部上移、一个新 SKU 插进了中间。结果就是一份声称「每一行都变了」的差异 —— 而其实什么都没变。
本工具按行的主键匹配 —— id、sku、handle,你的 feed 用哪个都行 —— 然后逐字段比较。重新排序会得到零差异,因为确实什么都没变。
主键重复会毁掉整个前提
如果同一个 SKU 在一份文件里出现两次,就不存在唯一的那一行可供比对,而任何基于主键的比对都会静默地挑一个。在你采信结果之前这件事值得知道,所以它被报成告警,而不是被一笔带过。
这些数字是什么意思
价格与数量的变化会附带增减量和百分比,因为「19.99 → 22.49」很容易一眼扫过去,而「+12.5%」不会。库存归零、可售状态翻转、图片被换掉、字段被清空,都会被点名说出来 —— 这几种一旦是误操作,是要真金白银付代价的。
本工具在采信这次比对之前会检查什么(4 条规则)
DIFF-K01 找不到主键列
只有当两份文件共有一列、且它在两边指向同一件商品时,行才谈得上比对。没有这样一列,就没有对齐的依据,所谓「差异」也就退化成逐行文本比较 —— 而那正是这个工具存在的意义所要避开的。
修复: 如果你的 feed 给主键列起了不常见的名字,就显式指定它。
来源: Derived from what row-by-key comparison requires in order to be meaningful. These are properties of the comparison itself, not of any platform specification.
DIFF-K02 有一侧缺少主键列
选定的主键列只存在于其中一份文件里,两边的行根本无法对齐。
修复: 检查导出设置 —— 两份文件里多半有一份是用不同的列选择导出的。
来源: Derived from what row-by-key comparison requires in order to be meaningful. These are properties of the comparison itself, not of any platform specification.
DIFF-K03 主键重复
同一个主键值出现了不止一次。每个键只有第一次出现会参与比对,所以这份文件的按键比对结果并不可靠 —— 第二次出现里的改动是看不见的。
修复: 给导出结果去重,或者换一列真正唯一的作主键。
来源: Derived from what row-by-key comparison requires in order to be meaningful. These are properties of the comparison itself, not of any platform specification.
DIFF-C01 两边的列不一样
两份文件带的列不相同。只有共有的列参与比对,所以只存在于一侧的字段既不会被报成「有变化」,也不会被报成「没变化」—— 它不在比对范围内。
修复: 如果你需要完整覆盖,请用相同的列选择重新导出两份文件。
来源: Derived from what row-by-key comparison requires in order to be meaningful. These are properties of the comparison itself, not of any platform specification.
这些是比对本身的性质,而不是某个平台规范的要求。按主键对齐的差异,只有在主键确实存在、两边都有、而且真的唯一时才有意义 —— 所以这几个条件是被检查并报出来的,不是默认成立的。
关于这些规则。 每一条都有编号、严重级别和通俗解释。每个来源链接都已登记在案,并对线上页面实际复验过,而不是凭印象写上去的. 规则如何编写、测试与保持更新 →