先别急着重导。标题与文件错位,通常有两种解释:一是导入时标题和文件内容的配对关系在中间环节被打乱;二是配对没错,只是标题字段被覆盖或截断,看起来像错位。区分这两者的关键证据,是去比对标题与文件正文里各自独有的标识,而不是比对标题本身。
配对错乱指的是A文件的标题被安到了B文件上,标题和正文来自不同来源。字段覆盖指的是标题仍属于原文件,但被另一条记录的标题值替换,或因为长度、编码问题只留下了前半段。两者的处理动作完全不同:前者要修导入映射,后者要修字段写入规则。
一个可操作的判别方法是看错位是否成对出现。如果A的标题跑到B上,同时B的标题跑到A上,更像配对错乱;如果多个文件的标题都指向同一条记录,或都变成同一串字符,更像字段覆盖。
标题本身不适合作为核对基准,因为标题可能重复、可能被改写、也可能在导入时被规范化。更稳的做法是从每个文件的正文里取一个独有标识,例如首段里出现的专有名词、编号、日期,或正文中重复出现的内部代号。
具体动作:先导出导入前后的对照清单,至少包含三列——文件标识、导入后标题、正文独有标识。然后逐条检查标题与正文独有标识是否指向同一来源。如果标题与正文标识一致,说明配对正确,问题出在标题字段;如果标题与正文标识不一致,说明配对在导入环节就已经错位。
这个动作的结果会直接决定下一步:配对正确时,去查标题字段的写入顺序、覆盖规则和字符截断;配对错误时,去查导入时的排序依据、分隔符解析和批次切分逻辑。
假设导入100条内容,导入后发现有7条标题与文件对不上。先取其中3条,记录它们的正文独有标识,再和标题比对。若这3条的标题都指向另外3个文件的正文标识,且那3个文件的标题又反过来指向这3条,基本可以判断是配对错乱,常见原因是导入时按标题排序但正文按原顺序写入。
若这7条的标题都变成了同一个值,或都只保留了标题的前几个字,而正文独有标识仍与各自文件一致,则更像字段覆盖或截断。此时应检查标题字段是否被后写入的记录覆盖,以及是否存在长度限制或编码转换。以上为假设情形,用于说明比较方法,不代表任何具体工具的现行行为。
确认配对正确后,下一步是给每条内容保留一个不随标题变化的稳定标识,例如文件内已有的编号或正文中重复出现的代号,并在导入映射中让标题和正文都引用同一个标识。这样即使标题后续被修改,也能通过标识回溯到原文件。
如果确认是配对错乱,则需要在导入前先按稳定标识排序,再执行写入,而不是依赖标题或文件名顺序。改动后重新抽样比对,比较改动前后的错位条数时,要考虑导入批次、内容量和采集时段的差异,不能只用一次前后对比就断定修复生效。