前几天说是要学学Excel,刚好想把Excel的数据转换为Latex表格形式,就先从CSV文件格式入手,准备写一个CSV文件转换为Latex表格的程序。
一直以为CSV文件格式就是用逗号来间隔每个field,今天读了一下CSV的标准文件RFC 4180 Common Format and MIME Type for Comma-Separated Values (CSV) Files,没想到CSV文件的规则还挺多。
规则1: 每个记录(record)之间用“CRLF”来分割
CR(回车符)LF(改行符)在Windows下就表现为改行
例:
aaa,bbb,ccc CRLF
zzz,yyy,xxx CRLF
规则2: 最后一条记录之后可以没有“CRLF”
例:
aaa,bbb,ccc CRLF
zzz,yyy,xxx
规则3:第一行也可以是标题(header)
例:
field_name,field_name,field_name CRLF
aaa,bbb,ccc CRLF
zzz,yyy,xxx CRLF
规则4:每个field之间用逗号分开,但最后一个field之后不可以用逗号结束。
自注:最后一个field要用逗号结束的话,必须用双引号将field引起来。见规则5,规则6
例:
aaa,bbb,ccc
规则5:每个field可以用双引号“引起来
例:
”aaa“,”bbb“,”ccc“
自注:Excel文件保存为CSV文件的时候,文字列都用双引号引用,数值则不用
规则6:包含有CRLF,双引号自身,逗号字符的field要用双引号引用起来
例:
"a,b", "c CRLF
d" CRLF
虽然有两行,但是是一条记录(一个record)
规则7:field中的双引号用两个连续的双引号来表示
例:
1"23' 的field如下表示
"1""23' "
1 条评论:
工具在线转,https://tableconvert.com/
发表评论