工作空间 / CSV 导入不丢信息:编号、引号和换行怎么处理

CSV 导入不丢信息:编号、引号和换行怎么处理

在类型推断之前,先保留 CSV 的原始字符串和列结构。

问题场景

编号 00123 导入后变成了 123,带逗号的名称又被拆成两列。怎样解析才能保留原来的内容?

排查与解法按顺序复现、定位和验证

编号不是数量

手机号、邮编、商品编号通常应保留为文本,特别是前导零与超过安全整数范围的值。若 Excel 保存前已经改写了编号,再转换为 JSON 也不能恢复原值。

不要用逗号直接切分

字段可能包含逗号、双引号和换行。使用 CSV 解析器;字段内的双引号通常写成两个连续双引号,包含分隔符或换行的字段用双引号包裹。

code,name,note
00123,"A, B","他说""你好"""

先检查结构再赋类型

先查看分隔符、编码、BOM、标题是否重复和每行列数。先按字符串解析,再针对确定的金额、数量等列显式转换;空字段是否表示 null 也要另外约定。

用导出结果反向核对

用含逗号、引号、单元格换行、前导零、长编号的测试文件往返转换。核对行数、列数及每个原始值;不要把 CSV 文件行数直接当记录数,因为单元格内可能有换行。

参考资料

RFC 4180 · CSV ↗