本文是对python官方文档中csv模块的一个总结
官方文档地址:csv
依照惯例,我还是用2w1h分析法(what?why?how?)来整理思路。
What:
csv是什么?
csv是python的一个标准库,也就是说,安装好python之后开箱即用,如同c语言的标准库函数,cpp的标准模版库一般,无需多余操作。
csv文件是什么?
csv文件是非常流行和简单的一种格式化的文本文件,无论代码访问还是人类阅读都非常友好。它的本质结构是一张二维表。
csv文件的主要特征:
- 以行为数据
- 通常第一行为列名
- 通常以逗号分割
尽管csv文件如此简单,然而由于使用环境和习惯的不同,仍需注意以下几个关键点:
- 分隔符,通常是逗号,也可以是空白符(空格、TAB等)或者其它字符
- 换行符,惯例Windows为“\r\n”, Linux为“\n”,MacOS为“\r”(\r=0x0d \n=0x0a)
- 引号,数据项被双引号括起,则引号内的空格、逗号等被视为数据项内容,双引号不视为数据项内容
csv库的局限性:
- 对列名的支持很有限,几乎可以认为没有,有列名行的文件需要手动忽略第一行
- 只可以用下标引用数据项,不能像pandas一样使用列名。
Why:
使用csv库的目标是为了读写csv文件,不必为解析csv文件耗费太多精力,把更多时间聚焦在核心目标。
How:
我们通过几个典型的用例来掌握其用法:
# 用例:读取文件,数据文件第一行为列名,逗号分隔
import csv
with open("data.csv", newline='') as f:
line = f.readline