CSV 文件格式

765 阅读2分钟

CSV 全称 Comma-Separated Values,即逗号分隔值,常用于各种电子表格程序间交换或转换数据。RFC-4180 记录了 CSV 文件所用的格式,并注册了相应的 MIME 类型 "text/csv"。

CSV 格式定义

RFC-4180 中给出的 CSV 格式定义如下:

  1. 每一条记录(record)独占一行,并以换行符(CRLF)结尾。

  2. 最后一条记录的末尾可以没有换行符。

  3. 文件第一行可以作为头部行(header line),格式与记录行相同。头部行包含了文件中所有字段(field)的名称,并且与记录行包含同样多的字段。MIME 类型 text/csv 的参数 header 用于指定是否存在头部行。

  4. 在头部行和每条记录中,可以有一个或多个字段(field),字段以逗号(comma)分隔。整个文件中,每行都应该包含同样多的字段。空格将被当作字段内的一部分。每条记录的最后一个字段后面不能有逗号。

  5. 字段可以用双引号包裹,如果没有使用双引号包裹,则字段内部不能有双引号。

  6. 包含了换行符、双引号或逗号的字段应该用双引号包起来。

  7. 如果字段已经用了双引号包裹,字段内的双引号必须用两个双引号表示。

例如:

field_name 1,field_name 2 CRLF
aaa,bbb CRLF
"""Hello CSV""","a CRLF b,c"

MIME 类型 text/csv

MIME 媒体类型名称:text

MIME 子类型名称:csv

必选参数:无

可选参数:charsetheader

  1. 参数 charset 用于设置字符集。

  2. 参数 header 用于指明是否存在头部行,合法值为 "present" 或 "absent"。

编码注意事项:

媒体类型 text/csv 使用 CRLF 表示换行,但是,有些实现可能会使用其他值。

应用:电子表格程序和各种数据转换工具

文件扩展:csv

其它事项

详细内容见 RFC-4180