RFC4180 CSV文件通用格式规范【示例】
作者:admin 时间:2023-5-19 19:14:11 浏览:CSV(Comma-Separated Values 逗号分隔值格式) 用于在各种电子表格程序之间交换和转换数据,今天介绍一下常用的CSV文件格式标准——RFC4180。
CSV 格式没有正式的规范存在,它允许各种各样的CSV文件的解释。本节记录了大多数都遵循的格式规范:
1、每条记录单独一行,用一行分隔中断(CRLF)。例如:
aaa,bbb,ccc CRLF
zzz,yyy,xxx CRLF
2、文件中的最后一条记录可能有也可能没有结束行中断。例如:
aaa,bbb,ccc CRLF
zzz,yyy,xxx
3、可能有一个可选的标题行出现在第一行,与普通记录行具有相同格式。这标头将包含与文件中的字段对应的名称,并且应该包含与文件其余部分中的记录相同数量的字段(标题行的存在与否应该通过这个可选的MIME类型的“header”参数来指示)。例如:
字段名,字段名,字段名 CRLF
aaa,bbb,ccc CRLF
zzz,yyy,xxx CRLF
4、表头和每条记录内,可能有一个或多个字段,以逗号分隔。每行应包含相同的整个文件的字段数。空格被认为是字段的一部分,不应该被忽视。记录后面中的最后一个字段不能跟逗号。例如:
aaa,bbb,ccc
5、每个字段可以用也可以不用双引号括起来(但是一些程序,例如 Microsoft Excel,根本不使用双引号)。如果字段没有用双引号引起来,那么双引号不能出现在字段内。例如:
"aaa","bbb","ccc" CRLF
zzz,yyy,xxx
6、包含换行符(CRLF)、双引号和逗号的字段应该用双引号括起来。例如:
"aaa","b CRLF
bb","ccc" CRLF
zzz,yyy,xxx
7、如果用双引号括起字段,那么一个双引号出现在字段内必须通过在其前面加上另一个双引号。例如:
"aaa","b""bb","ccc"
示例
下面是一个符合复杂标准的 CSV 文件的示例:
Year,Make,Model,Description,Price
1997,Ford,"E350
F150","ac, abs,
moon",3000.00
1999,Chevy,"Venture ""Extended Edition""","",4900.00
1999,Chevy,"Venture ""Extended Edition, Very Large""",,5000.00
1996,Jeep,Grand Cherokee,"MUST SELL!
air,
"",moon,""
roof, loaded",4799.00
1999,BMW,Z3,"used",14900.00
1999, Toyota,Corolla,,7000.00
如上所见,有些行是多行的并且包含引号和逗号,这将给出下表:
年 | 制作 | 模型 | 描述 | 价格 |
---|---|---|---|---|
1997 | Ford | E350 F150 | ac, abc, moon | 3000.00 |
1999 | Chevy | Venture "Extended Edition" | 4900.00 | |
1999 | Chevy | Venture "Extended Edition, Very Large" | 5000.00 | |
1996年 | Jeep | Grand Cherokee | MUST SELL! air, ",moon," roof, loaded | 4799.00 |
1999 | BMW | Z3 | used | 14900.00 |
1999 | Toyota | Corolla | 7000.00 |
如上所见,有些列是多行的,最后一行的“ Toyota”列以空格开头。
- 站长推荐