先给结论:如果导出文件已经无法用原程序打开,但只要字段名、字段顺序和值还能被识别,就应优先保存“字段字典”而不是继续抢救文件格式;如果连字段名也只能靠猜,那么保存动作本身就会制造新的错误,此时更稳妥的做法是停止迁移,先找同批次的纸质或截图证据。下面说明什么条件下可以继续,什么情况下结论会失效。
旧工具导出无法再打开,通常有两种不同状态。第一种是文件本身还能用文本编辑器或十六进制查看器读到内容,只是原程序不再支持该格式;第二种是文件被加密、压缩或结构损坏,连字段名都读不出来。两者的处理方向完全不同。
可以用一个简单动作区分:把文件复制一份,用通用文本查看方式打开副本,只观察开头若干行,不要修改原文件。如果能看到类似 title、url、snapshot_time 这样的字段名,说明字段含义还有机会保留;如果看到的是乱码或不可识别字节,就属于第二种状态。这个动作的结果直接决定下一步:能读到字段名,才值得建立字段字典;读不到,就不要在导出文件上继续投入。
字段含义不只是字段名本身。旧工具导出里的一个列,往往包含三层信息:列名、这个列在当时代表什么、以及它和其他列的位置关系。只保存列名,后人仍然可能把“快照时间”误当成“抓取时间”,把“状态码”误当成“收录状态”。
建议在还能读到内容时,按下面顺序做一次固定动作:
这个动作的结果会影响后续判断:字段字典完整,后续迁移或重新解析才有依据;字典里出现大量“待核实”,说明这批导出的证据强度不足,不应据此下结论。
一个明确的失效条件是:字段名相同,但不同批次导出的含义已经变化。旧工具在不同时期可能用同一个列名表示不同口径,例如同一列早期表示页面标题,后期表示快照标题。如果只按列名建字典,就会把两个口径混在一起。
反例可以这样假设:某批导出中有两列都叫 status,一列来自抓取记录,一列来自人工标注。若只保存列名而不保存来源批次,后人看到 status 就无法判断它指哪一种状态。此时正确的做法不是继续合并,而是按导出批次拆开保存,并注明每批的来源。没有批次信息时,字段字典只能作为线索,不能作为结论依据。
这种情况下,继续尝试打开旧文件通常不会增加信息量。更实际的动作是转向同批次的其他证据:同期截图、手工记录、邮件附件说明或归档说明。把这些证据按时间排列,先确认哪些字段在当时确实存在,再决定是否重建字段字典。
需要说明的是,请求量、抓取量或某个统计值归零,并不能单独证明旧工具已经停止工作,也不能证明字段含义已经失效。它可能有多种合理解释,例如导出范围变化、统计口径调整或记录被截断。因此,看到异常数值时,应先核对来源批次,而不是直接改写字段含义。
最后给一个可执行的判断:只要字段名和来源批次还能对应,就保存字段字典并标注假设;只要字段名只能靠猜,就停止迁移,先补证据。这个顺序能避免把无法打开的旧导出,变成一份看起来完整、实际含义错位的新表。