Skip to main content

描述

逗号分隔值格式 (RFC) 。 进行格式化时,行会用双引号括起来。字符串内的双引号会输出为两个连续的双引号。 没有其他字符转义规则。
  • Date 和 date-time 会用双引号括起来。
  • 数字输出时不加引号。
  • 值之间由分隔符字符分隔,默认为 ,。分隔符字符由设置 format_csv_delimiter 定义。
  • 行之间使用 Unix 换行符 (LF) 分隔。
  • Array 在 CSV 中按如下方式序列化:
    • 首先,数组会像在 TabSeparated 格式中一样被序列化为字符串
    • 然后,将生成的字符串用双引号括起来输出到 CSV。
  • Tuple 在 CSV 格式中会被序列化为单独的列 (也就是说,会丢失其在 Tuple 中的嵌套结构) 。
默认情况下,分隔符为 , 更多信息请参见设置 format_csv_delimiter
解析时,所有值都可以带引号或不带引号。支持双引号和单引号。 行也可以不带引号。在这种情况下,会一直解析到分隔符或换行符 (CR 或 LF) 为止。 不过,这不符合 RFC:解析不带引号的行时,会忽略行首和行尾的空格与制表符。 支持以下换行类型:Unix (LF)、Windows (CR LF) 和 Mac OS Classic (CR LF)。 NULL 按照设置 format_csv_null_representation 进行格式化 (默认值为 \N) 。 在输入数据中,ENUM 值可以表示为名称或 id。 首先,我们会尝试将输入值与 ENUM 名称匹配。 如果失败,且输入值是数值,则会尝试将该数值与 ENUM id 匹配。 如果输入数据仅包含 ENUM id,建议启用设置 input_format_csv_enum_as_number 以优化 ENUM 解析。

使用示例

格式设置

最后修改于 2026年7月23日