Neatbo.

CSV 对账、关联与透视:先核对记录,再生成报表

用订单导出示例比较按主键对账、查找关联和数据透视,检查重复键、空值与汇总口径,再安全应用 JSON 配置补丁。

例子:核对两次订单导出

库存团队每周收到新的商品导出。上周 001 属于设计组,本周改为运营组,同时整份表格的顺序也变了。逐行文本对比会产生很多无关差异。真正需要回答的是:主键 001 的哪一列发生变化,以及是否有商品新增或删除。

主键和空值先约定清楚

先写清楚主键约定:一键对应一条记录、跨批次保持稳定、表示形式一致。即使电子表格看起来相似,把 001 转成数字 1 也破坏了约定。空键和重复键需要有意识地处理,不能让工具随意选择某一条匹配记录。

先对账,再关联和汇总

先按主键对账,再关联查找表。较小的 UTF-8 CSV 可分别检查新增、删除、变化单元格与列名差异,并下载完整 JSON 和有内容的 CSV 报告。Neatbo 每侧限 1 MiB,更大的表格需其他流程。CSV 导出会防护公式式值,JSON 则保留原字符串供核查。确认变更后,如果所有原商品都必须可见,应采用左连接;内连接会有意丢弃未匹配商品,适合交集报表,却不适合未经说明的完整库存报表。

小样的判断依据
001,Ada → 001,Ada Lovelace 是同一记录的变化,不应算作删除加新增;只改变行顺序的表格不应出现单元格变化。

交付报表前保留核对依据

之后再做透视。此工具每次只处理一个行维度和一种指标,计数与求和应分别运行。求和前先核对记录数,抽查一个无匹配分组,区分真实的零和没有记录的组合。按部门拆分交付时提供 ZIP 与其中的清单;每份 CSV 保留表头,清单连接编号文件名、原始分组值与行数。最终审阅者应能追踪一条记录经过对账、关联和汇总的过程,而不需要猜测。

常见误判与替代检查
不能单凭应该补查
行数相同主键集合及每个字段仍可能不同
关联成功查找键必须唯一,并核对未匹配记录
汇总数值相同确认分组口径、空组合和浮点精度
  • 把编号作为字符串,检查前导零是否保留。
  • 对新增、删除、修改分别抽样,再核对分组总数。
  • 配置补丁先写test条件,失败时不要使用半成品。

将语法迁移与数据合同分别核对

例如设备配置与订单表一起交付:INI 中 Windows 路径是字面文本,本地化 Java Properties 消息却使用反斜杠转义。都按普通 key=value 处理,可能使生成的 JSON 虽然语法有效,消息内容却已改变。应选择正确语法、保留字符串,并在接收应用里检查样例。

静态 HTML 导出转 CSV 更便于交付,但提取单元格不代表满足导入合同。选好表格后,明确必填字段、允许取值与数值边界;可选空值和缺失必填值并不相同。保留异常记录,利用物理行号定位跨行单元格,不把未校验列视为已批准的数据。

区分存储声明、保真字节与确认后的模式

本地迁移可能包含多份独立合同:定长码点字段、缓存新鲜度未确认的工作簿公式,以及类型尚未确认的 CSV 列。逐项明确提取,保留原文件,将建议与已批准导入规则分开。

配套文件先替换指定 JSON 值并检查可见键名,按精确坐标和换行应用补丁,保留 Frontmatter 正文哈希。EditorConfig 和 npm 锁报告只解释提供的声明,不能等同于编辑器行为、已安装依赖或可执行数据库迁移。

参考资料

本文相关工具

CSV 转 JSON →把表格换成程序更容易处理的格式。JSON 转 CSV →把 JSON 里的记录整理成 CSV 表格。查看 CSV →不用打开表格软件,也能看清数据。CSV 清理去重 →选择要清理的列,去掉重复记录或空行。JSON 转 YAML →保留数据结构,把 JSON 写成 YAML。YAML 转 JSON →检查 YAML 内容,再转换为 JSON。Excel 转 CSV →选中一个工作表,导出为 CSV。CSV 转 Excel →把 CSV 整理成可以用 Excel 打开的工作表。JSON 格式化与转义 →排版或压缩严格 JSON、排序对象键,并编码或解码字符串,保留数字原文。正则表达式测试 →输入规则和文本,看看哪些内容被匹配。文本对比 →并排查看两段文字,找出不同之处。HTML 格式化 →整理 HTML 缩进,让结构更容易看清。CSS 格式化 →排好 CSS 的缩进和换行。JavaScript 格式化 →整理 JavaScript 排版,不运行代码。SQL 格式化 →整理 PostgreSQL 风格的 SQL 缩进与关键字。UUID 生成 →生成一组 UUID,按需复制或保存。JSON 转 TypeScript →从接口响应生成嵌套类型,识别数组、联合类型和空值。NDJSON 与 JSON 互转 →将逐行日志转为 JSON 数组,或把数组拆成 NDJSON 逐行记录。CSV 分隔符转换 →逗号、制表符、分号与竖线互转,保留引号和单元格内换行。CSV 提取列 →按真实表头保留需要的列,并排成接收方要求的顺序。CSV 行列转置 →把列数一致的分隔文本按原始单元格交换行列。CSV 排序 →按实际表头和文本或精确十进制数值,对 CSV 数据行整行排序。CSV 筛选行 →按指定列的精确值、包含文本或不等于条件筛选 CSV 数据行。合并 CSV 表格 →将两段粘贴内容或 2–20 份同表头 CSV 文件纵向合并为一份。统计计算器 →计算数字列表的平均数、中位数、方差与标准差,或 CSV 数值列的精确十进制统计。Markdown 表格转换 →把 CSV 或 JSON 记录转成 Markdown 表格,也可把 Markdown 表格导回 CSV。JSON 扁平化与还原 →将嵌套 JSON 展开为可还原的 JSON Pointer 路径,也能把点路径对象还原为嵌套对象。JSON Pointer 提取 →使用 RFC 6901 路径精确提取某个 JSON 值。合并 JSON 对象 →用覆盖对象合并配置,同时保留未修改的嵌套字段。JSON 转类型化 XML →将 JSON 转换为用 type 属性标记对象、数组和标量值的 XML。XML 转 JSON 树 →将文本与元素混排的 XML 转为保留原顺序的 JSON 树。XML 格式化 →缩进 XML 结构,同时保留混排文本、CDATA 和注释。生成 SQL IN 列表 →将粘贴的表格单列或逐行 TXT 文件生成带引号的 SQL IN 片段。CSV 转 SQL INSERT →将 CSV 转为可核对的 PostgreSQL 或 MySQL INSERT 脚本,写入现有数据表。cURL 转 fetch →将复制的 cURL API 请求转换为浏览器 fetch 代码。HTTP 标头解析 →检查复制的 HTTP 标头区段,并在 JSON 中保留同名重复字段。ENV 与 JSON 转换 →把 .env 赋值转成字符串值 JSON 对象或环境变量列表,导出前核对值是否无损。Cron 表达式检查 →检查五段式 Unix Cron,并按指定时区预览接下来匹配的分钟。chmod 权限计算 →将八进制权限转换为符号形式,包含特殊权限位。CSV 按主键对账 →按唯一主键比较两份较小的 CSV,查看新增、删除与变化单元格。CSV 关联与查找 →按选定键列关联两份较小 CSV,预检匹配行,并选择左连接、内连接或全连接。CSV 数据透视表 →按行字段和列字段形成交叉表,计算分组的总和、数量、均值、最小值或最大值。CSV 按列值拆分 →按指定列的不同值拆成多份 CSV,并提供分组值与输出文件名的映射清单。JSON 结构差异比较 →按 JSON 结构定位变化并输出 JSON Pointer 路径,保留大整数精度,忽略对象键的排列顺序。JSON Merge Patch 合并补丁 →在本地应用 RFC 7396 合并补丁:更新对象字段,用 null 删除字段,整项替换数组。JSON Patch 补丁工作区 →按 RFC 6902 顺序执行 JSON Patch 操作,核对数组索引变化并下载完整结果。NDJSON 校验与分流 →逐行校验粘贴或导入的 NDJSON,分别下载有效记录与保留全部异常原文的报告。INI 与 JSON 转换 →把单行 INI 配置迁移为结构化 JSON,或从字符串配置重建 INI。Java Properties 与 JSON 转换 →解码 Java .properties 转义及续行,或把字符串 JSON 映射导出为 ASCII properties。HTML 表格与 CSV 转换 →把选中的静态 HTML 表格提取为 CSV,或将 CSV 单元格生成安全 HTML 表格。CSV 字段约束校验 →按本地列规则检查 CSV,分别下载有效记录、异常记录和单元格问题报告。固定宽度与 CSV 转换 →按明确的 Unicode 码点宽度拆分定长记录,或把 CSV 字段填充为定长文本。XLSX 公式清单 →列出工作簿各表的普通公式、单元格位置、可见性及原始缓存,不进行重算。JSON 结构脱敏 →替换全部 JSON 标量或明确指定的对象键值,保留文档结构,并生成不记录原值的路径报告。精确 Unified Diff 应用 →按声明行号与精确上下文应用单文件文本补丁,明确处理换行格式。Markdown Frontmatter 与正文拆分 →拆分支持的 JSON 或 YAML Frontmatter,并验证剩余 Markdown 正文字节保持不变。EditorConfig 路径生效属性检查 →检查单份 EditorConfig 对明确路径声明的生效属性,追踪分节顺序、覆盖和 unset。npm 锁文件声明副本清单 →检查 package-lock v2/v3 安装声明,区分同名副本、别名、链接、工作区和未知版本。CSV 转 SQL DDL 草稿 →从 CSV 表头起草带引号的 CREATE TABLE,审查样本类型建议,不执行 SQL。