CSV标准格式

近来用到了cvs格式,仔细研究了一下相关的文档,现将cvs格式的标准总结如下,其实还是很简单的

以下内容均来自 rfc4180

  1. CSV的全称是叫Comma Separated Value
  2. CSV的MIME类型是text/csv
  3. CSV文件中的每一行数据,作为一行记录,也就是一个条目(99%的情况,排除有些换行数据,下面会提到)
  4. CSV文件的每一行数据后面跟着(回车+换行符)即CRLF,但有些资料中也提到了单个CR或者LF均可,但标准rfc文档中用到的是CR+LF
  5. 文件第一行可以是标题行,这个用到的不多
  6. 每行数据中,每个字段之间均必须用半角逗号comma进行分隔,这也是为什么叫Comma Separated的来由,如果有标题行,那么标题之间也使用逗号分隔
  7. 每行的最后一个字段后应该只有CRLF,不应该再有逗号
  8. 最后一行后面可以不加CRLF
  9. 在逗号分隔开的每个字段中,前面的空白和后面的空白会被忽略,但单个字段内部的空白会被保留,例如,  aaa,   bbb  bbb   ,ccc  我们看到有三个字段,其中第二个字段前面,中间,后面均有空白,但CSV解析器应该只保留中间的空白,即bbb  bbb,类似于java中的trim方法
  10. 如果某个字段中间有回车换行之类的字符,可以用双引号来引用,例如:
    "aaa","b CRLF
     bb","ccc" CRLF
     zzz,yyy,xxx
    那么可以判断出第二个字段之间内部存在一个回车换行符,由于使用双引号分隔,他们b 和 bb 被链接成一个字段
  11. 字段本身推荐使用双引号来引用,但MS的excel默认是不会对字段加" "的
  12. 转义字符逗号(,),当字段中存在逗号是,是必须要将这个字段用""引用起来的
  13. 转移字符双引号("),当字段中存在双引号时,必须连续用两个双引号来进行转义

猜你喜欢

转载自xinglu.iteye.com/blog/1167826