CSV与JSON转换:RFC 4180 转义规则与 Excel 中文乱码

发布时间:2026/10/15 3:21:17
CSV与JSON转换:RFC 4180 转义规则与 Excel 中文乱码 用 split(‘,’) 解析 CSV为什么字段会错位不少同学处理 CSV 的第一反应是line.split(,)在小数据上能跑通一遇到真实数据就错位。原因在于 CSV 并非按逗号切开这么简单RFC 4180 规定了完整的转义机制字段之间以逗号分隔记录之间以换行分隔若字段值本身包含分隔符、双引号或换行符整个字段必须用双引号包裹字段内部的双引号用两个连续双引号表示。也就是说李四,30,上海, 浦东里的第二个逗号属于字段内容而非分隔符他说今天天气不错在合法 CSV 中应写成他说今天天气不错。手写切分不处理这些规则遇到带逗号的字段就会多出一列后续所有字段整体右移。第二个坑是类型推断。CSV 是纯文本、不带类型信息的格式转换成 JSON 时通常会把纯数字转成 Number、true/false转成 Boolean。这在统计类数据上很方便但在编号类数据上是灾难以 0 开头的编号00123前导零会消失超过 2^53 的长整型会丢失精度手机号虽然位数在安全范围内一旦被当成数字导出到 Excel 又会变成科学计数法。第三个坑是编码。Excel 在 Windows 下默认按 ANSIGBK编码读取 CSV而多数工具导出的是 UTF-8直接双击打开就是一片乱码。理解这三点之后下面以一个纯前端在线工具为例演示完整的转换操作。一、工具简介盘子工具站的在线CSV与JSON转换打开工具是一个在浏览器本地完成表格数据与 JSON 数组互转的工具。核心能力本地处理所有计算在浏览器完成数据不上传服务器双向转换CSV → JSON、JSON → CSV 两个方向都支持多分隔符支持逗号,、分号;、Tab 三种分隔符正确转义解析时正确处理引号内的分隔符、换行与转义引号生成 CSV 时值中含分隔符、引号或换行会自动加引号转义遵循 RFC 4180按规范处理转义避免手写切分导致的字段错位二、适用场景接口数据落地把后台导出的 CSV 转成 JSON 数组直接塞进前端 mock 或测试用例表格数据入库把 JSON 数组转成 CSV交给运营在 Excel 里核对后再导入系统日志与报表整理服务端日志导出为 CSV 后转成结构化 JSON 做二次统计批量数据校对分隔符不统一逗号 / 分号 / Tab的多来源文件统一转换后再合并三、操作步骤第一步打开在线 工具地址输入区自带一段示例name/age/city三列、4 条记录张三 25 北京李四 30 的 city 是含逗号的上海, 浦东王五 28 的 city 是含双引号的他说今天天气不错赵六的 age 为空、city 为杭州可直接替换成自己的数据。第二步在分隔符选项中选择逗号,、分号;或 Tab按文件实际情况来选。第三步点击「转换」按钮输出区显示输出 JSON4 条记录及转换结果含分隔符与引号的字段会被还原成完整值。第四步核对记录条数与字段值特别是带引号、带换行和为空的字段是否与预期一致。第五步点击输出区的「复制」取走结果粘贴到代码或文件中使用。第六步点击「清空」重置输入区与输出区再开始下一批数据。四、功能亮点按规范转义值包含分隔符时自动加引号包含双引号时写成两个双引号值为空时在两个分隔符之间留空三种分隔符逗号、分号、Tab 都能处理欧洲区常见的分号分隔文件不再需要预处理引号内换行支持字段内的换行合法不会被误判为记录结束反向转换合并表头JSON 转 CSV 时扫描整个数组合并所有出现过的键作为表头缺失的键留空本地不上传业务明细数据留在浏览器内不必担心导出内容外泄五、常见问题QExcel 打开导出的 CSV 中文乱码Windows 版 Excel 默认按 ANSIGBK编码读取 CSV而本工具导出的是 UTF-8编码不匹配就会乱码。解决办法是用「数据 → 从文本/CSV 导入」并在导入向导中选择 UTF-8 编码或先把后缀改成.txt再导入macOS 版 Excel 一般能直接识别 UTF-8。QJSON 转 CSV 时各行键不一致怎么办工具会扫描整个数组合并所有出现过的键作为表头某个对象缺失的键在对应单元格留空。需要注意两点仅支持对象数组嵌套对象和数组会被序列化为 JSON 字符串放入单元格不会展开成多列。QCSV 转 JSON 时数字会转为数字类型吗会。纯数字含小数、负数转 Numbertrue/false转 Boolean空字符串保持文本。如果手机号、以 0 开头的编号需要全部保留为字符串需要自行处理或使用带引号的字段——引号包裹的值会被当作文本对待。六、相关工具推荐JSON格式化转换结果的格式化与层级查看便于核对嵌套结构Mock随机数据生成批量构造测试数据可与 CSV 导入流程配合使用七、总结CSV 的转义规则由 RFC 4180 定义含分隔符、引号、换行的字段必须加引号内部引号写成两个手写split(,)不处理转义遇到带逗号的字段就会整体错位规范解析是前提CSV 无类型信息转换时的类型推断会让前导零消失、长整数失真编号类字段应显式加引号Windows 版 Excel 默认按 GBK 读 CSVUTF-8 文件应走「数据 → 从文本/CSV 导入」并选择 UTF-8

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询