首页 / 教程文章 / CSV 格式详解:逗号、引号、换行是怎么转义的

CSV 格式详解:逗号、引号、换行是怎么转义的

发布于 2026-08-21 16:00:00 · 2 阅读 · 标签:CSV,数据格式,Excel,转义

CSV 字段含逗号、引号或换行时必须用双引号包裹,字段内引号写两遍。讲清 RFC 4180 规范与 Excel 打开乱码的解法。

一、基本规则

CSV(逗号分隔值)看似简单,实则有正式规范 RFC 4180:

  1. 每行一条记录,字段间用逗号分隔。
  2. 字段含逗号、双引号、换行时,整个字段必须用双引号包裹。
  3. 字段内的双引号写成两个双引号("" 转义)。
  4. 首行可以是表头。

例:字段值 He said "hi", ok 要写成 "He said ""hi"", ok"

二、三个高频坑

三、与 JSON 怎么选

导出报表给业务方用 CSV(带 BOM),接口传数据用 JSON,各司其职。

四、程序处理建议

  1. 别手写 split(',') 解析:引号里的逗号会把你坑哭,用标准库(Python csv 模块等)。
  2. 生成时同样用库:自动处理转义、BOM。
  3. 大文件流式处理:逐行读写,别一次性读入内存。

在线体验

不用装任何环境,直接用本站JSON 格式化工具在线操作,数据都在浏览器本地处理,方便又安全。

常见问题

Excel 打开 CSV 中文乱码怎么办?

UTF-8 无 BOM 导致。用记事本另存为「带 BOM 的 UTF-8」,或生成时写入 EF BB BF 三个字节,Excel 就能正确识别。

CSV 字段里有换行符合法吗?

RFC 4180 允许:字段被双引号包裹时可以包含换行。但部分简陋解析器不支持,数据交换前最好清洗掉字段内换行。

CSV 能存空值吗?

可以,空字段直接写空(两个逗号之间什么都没有)表示 NULL/空。但「空字符串」和 NULL 在 CSV 层面无法区分,需业务侧约定。

更多文章