全部指南
数据

包含逗号、引号和换行的CSV单元格

两条记录,超过两行。将逗号和换行保留在单元格内。

CSV 单元格可以包含逗号、引号或换行符。这并不意味着文件损坏,而是该单元格需要加引号,且仅通过数文本行不能准确判断包含多少条记录。

下载示例 CSV。打开CSV、JSON 和 YAML 转换器并上传它。该文件有两条记录,尽管其中一个说明文字跨了两行:

name,caption
"Lee, Sam","First line
Second line"
Mina,"She said ""hello""."

在拆分行之前先识别引号

"Lee, Sam"中的逗号属于姓名。First line和Second line之间的换行符属于说明文字。它们都不代表新的字段或记录,因为它们在双引号内。

在带引号的单元格内,两个连续的双引号表示一个引号。所以"She said ""hello""."变成文本She said "hello".。外层引号和成对的内部引号是 CSV 语法,不是值中的额外字符。这些规则详见RFC 4180 的 CSV 格式说明。

直接按逗号或换行符拆分文本会忽略这些区别。去掉所有引号也不是修复方法:会把姓名内的逗号误当作列分隔符。

转换示例并检查值

  1. 上传示例,或将上面的 CSV 粘贴到输入编辑器。
  2. 设置 从 为 CSV,到 为 JSON。
  3. 在 选项 中保持 第一行包含表头 开启,关闭 检测 CSV 中的数字和布尔值。如果自动检测分隔符错误,手动设置 CSV 分隔符 为 逗号。
  4. 查看 代码 结果。应包含两个对象,每个有姓名和说明文字。表格 视图快速检查两行两列。

示例文件使用 CRLF 换行符,包括第一个说明文字内的换行。其 JSON 输出包含:

[
  {
    "name": "Lee, Sam",
    "caption": "First line\r\nSecond line"
  },
  {
    "name": "Mina",
    "caption": "She said \"hello\"."
  }
]

JSON 用转义序列显示回车和换行符,它们仍表示字符串中的换行。如果你从本页复制示例而非上传文件,剪贴板可能只含 LF 换行;看到\n而非\r\n是正常的。下载校验过的 JSON 输出获取 CRLF 版本。

测试往返转换

选择 将结果用作输入,将 JSON 转回 CSV。保持所有列选中。导出的 CSV 再次对逗号、多行说明文字和引号加引号。转换回 JSON 后,我们检查确认两条记录和所有字段值都保留了。

这只是数据对比,不保证每个 CSV 文件都能逐字节完全还原。引号、末尾换行和分隔符可能写法不同。工具默认保护类似电子表格公式的值,可能会加前导单引号。示例无此类值;打开不信任的导出文件时建议保持此保护。

当逗号确实是错误时

错误示例中姓名里的逗号未加引号。它有两列表头和三字段行,转换器因此拒绝。用"Lee, Sam"给整个姓名加引号即可修复,切勿删除姓名部分。

结果记录包含预期值、往返检查和2026年10月26日的拒绝输入结果。它用转换器的解析器测试此小示例,不代表所有电子表格应用的 CSV 导入规则。