CSV的特点
- CSV(Comma-Separated Values)一般是以逗号为分隔符,其文件以纯文本形式存储表格数据(数字和文本),有时也称为字符分隔值,因为分隔字符也可以不是逗号。
- 通常用于在在电子表格软件和纯文本之间交互数据;
- 纯文本,使用某个字符集,比如ASCII、Unicode、EBCDIC或GB2312;
- 由记录组成(典型的是每行一条记录);
- 每条记录被分隔符分隔为字段(典型分隔符有逗号、分号或制表符;有时分隔符可以包括可选的空格);
- 每条记录都有同样的字段序列。
- 其他:
- 每条记录占一行 以逗号为分隔符 逗号前后的空格会被忽略
- 字段中包含有逗号,该字段必须用双引号括起来
- 字段中包含有换行符,该字段必须用双引号括起来
- 字段前后包含有空格,该字段必须用双引号括起来
- 字段中的双引号用两个双引号表示
- 字段中如果有双引号,该字段必须用双引号括起来
- 第一条记录,可以是字段名
- csv.reader()函数与csv.writer()相反,用于返回一个可迭代对象,可以读取该对象,并且解析为CSV数据的每一行;
- csv.DictReader类和csv.DictWriter类,用于将CSV数据都进到字典中(首先检查是否使用给定字段名,如果没有,就使用第一行作为键),接着将字典字段写入CSV文件中;
CSV文件的读写格式参数:
- 'r':读
- 'w':写
- 'a':追加
- 'r+' == r+w(可读可写,文件若不存在,就报错(IOError))
- 'w+' == w+r(可读可写,文件若不存在,就创建)
- 'a+' ==a+r(可追加可写,文件若不存在,就创建)
- 如果是二进制文件,就都加一个b:'rb' 'wb' 'ab' 'rb+' 'wb+' 'ab+'
1、读取csv文件
test.csv文件内容
no, name, time, num
1,jay,2020-11-1,10
2,tom,2020-1