原文链接:http://blog.csdn.net/zlzlei/article/details/9236403
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. 如果某个字段中间有回车换行之类的字符,可以用双引号来引用,例如:
[plain] view plain copy
- "aaa","b CRLF
- bb","ccc" CRLF
- zzz,yyy,xxx
那么可以判断出第二个字段之间内部存在一个回车换行符,由于使用双引号分隔,他们b 和 bb 被链接成一个字段
11. 字段本身推荐使用双引号来引用,但MS的excel默认是不会对字段加" "的
12. 转义字符逗号(,),当字段中存在逗号是,是必须要将这个字段用""引用起来的
13. 转移字符双引号("),当字段中存在双引号时,必须连续用两个双引号来进行转义