先给结论:不要凭文件名或标题的相似度直接认定对应关系。把导入记录、文件内容和标题字段三方各取一条独立证据,交叉比对后再决定保留、改写还是退出。只要三条证据不能指向同一个对象,就应暂停批量处理,先解决错位。
“标题与文件错位”通常有三种不同含义,核对方法也不同。
三种情况的处理动作完全不同。先判断属于哪一种,能避免在错误层面反复返工。
判断某个标题是否属于某个文件,建议同时收集以下证据,任何一条单独成立都不够。
把这三条并排列出,逐行比对。如果导入序号与文件内标识一致,但标题字段指向另一行,基本可以判定是记录层错位,而不是文件内容写错。
假设导入 20 个文件,日志显示第 7 条对应文件 A,文件 A 正文首行写着“产品说明 A”,但列表第 7 行的标题是“产品说明 C”。此时不要直接改列表标题,因为无法确定是排序错位还是标题字段被覆盖。正确动作是先导出日志与标题字段做一次全量比对,看错位是成对交换还是整体偏移。如果是成对交换,通常是排序规则导致;如果是整体偏移,通常是导入时跳过了某条记录。这个判断结果决定下一步是调整排序还是补录缺失记录。
核对清楚后,处理方式取决于错位的稳定程度和影响范围。
选择哪种方式,不取决于哪种更省事,而取决于你是否能稳定复现正确的对应关系。不能复现,就应退出批量流程。
确认对应关系后,建议先小范围验证再全量处理。具体动作是:取已核对正确的记录,重新导入一次,检查标题字段是否仍然指向同一文件。如果这次没有错位,说明映射规则可用,可以继续处理剩余记录;如果再次错位,说明问题在导入规则或字段取值上,此时应停止全量操作,先修正规则。
比较改动前后时要注意,导入顺序、文件命名规则和字段来源都可能影响结果。一次导入正常,不能证明所有批次都正常;一次导入错位,也不能单独证明是工具的问题,还要排除文件本身标识重复或缺失的情况。
文件名相同或标题相似,是最容易导致误判的两类现象。文件名相同不代表内容相同,标题相似也不代表指向同一记录。排除方法是回到唯一标识,而不是看名称像不像。
另外,导入后列表顺序变化,不等于对应关系变化。顺序是展示结果,对应关系是数据映射,两者要分开核对。如果只凭列表顺序判断,很容易把正常的排序变化当成错位。
核对的目标不是让标题看起来对,而是让每条记录都能通过独立证据追溯到唯一文件。做到这一点,保留、改写或退出的决定才有依据。