CSV没有替你固定所有解释规则
检查神圣计划相关CSV资料时,先把它看成按规则组织的文本。文件扩展名并不保证编码、分隔符或日期格式完全一致。不同工具自动识别的结果可能不同,所以导入之前先保留原文件,并记录文件来源和取得时间。
可以先用文本查看方式检查前几行,不急着双击后保存。查看原始字符有助于分辨逗号、分号或制表符,也能发现是否有标题行。若中文显示异常,应核对编码设置,不要马上把乱码文本另存覆盖原件。
分隔符与引号共同决定字段
设示例标题为编号、日期、备注,数据行为“007、某日期、含逗号的说明”。在实际以半角逗号分隔的CSV中,备注内部也有逗号时,通常需要用双引号包裹整个备注字段。否则工具可能把它拆成额外一列,造成后续字段错位。
含双引号的内容还需要按所用格式转义,不能简单删除引号求整齐。最稳妥的检查是确认每条逻辑记录解析后具有预期列数,并与原始内容对照。列数一致仍不是全部检查,因为错误拆分也可能在其他位置被凑巧抵消。
换行让数行数变得不可靠
如果备注字段允许换行,并按正确的引号规则保存,一条逻辑记录可以占据多行文本。因此不能只用文件的物理行数减一,得到记录数量。应使用能够理解CSV结构的导入方式,再检查解析后的记录数。
挑选一条普通记录、一条带逗号、一条带引号和一条带换行的样本做测试。四类都正确解析后,再处理整份文件。遇到格式不完整的行,保留原内容并标记,不通过删除逗号或换行强行让文件通过。
编号和日期应主动指定类型
编号零零七属于文本标识时,应导入为文本,避免前导零消失。较长编号也不适合自动当作数值,因为可能出现精度改变。日期字段保留原文,再按已确认格式解析;像零二斜线零三这样的写法,没有地区约定就可能有两种解释。
示例日期可以采用四位年、两位月、两位日的明确形式,同时记录时区与时间精度。若原文件只有日期,不补造零时作为真实事件时间。自动补出的值属于工具解释,应与来源提供的事实区分。
导入后按结构和内容双重核对
先检查列数、记录数、空值数量,再抽查中文、特殊字符、编号和日期。若要转换编码或格式,输出到新文件,重新打开后与原件对照。转换前后内容应有清楚对应,不仅是工具没有报错。
把采用的编码、分隔符、引号处理和列类型写入说明,方便下次重复导入。发现来源格式不一致时,可以建立转换规则,但原始文件继续保存。这样CSV检查就形成了可重做的过程,而不是依赖一次自动识别碰巧成功。