csv操作

csv简介

  • CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分 隔符可以不是逗号),是⼀种常⽤的⽂本格式,⽤以存储表格数据,包括数字或者字符。很多程序在处理数据时都会碰到csv这种格式的⽂件。python⾃带了csv模块,专⻔⽤于处理csv⽂件的读取

csv使用

  • 写入文件
    • 通过创建writer对象,主要用到2个方法,一个是writerow 写入一行 另一个是writerows写入多行
    • DictWriter可以使用字典的方式把字典写入进去
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import csv
#首先定义表头
titles = ('name','age')
persons = [('张三',20),('李四',25)]
#第一种写入方式
with open('person.csv','w',encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(titles)
for data in persons:
writer.writerow(data)
#writer.writerows(persons) #写入多行 结果相同
#第二种 通过字典写入
p = [
{'name':'Lily','age':'20'},
{'name':'Jack','age':'22'}
]
with open('persons.csv','w',encoding='utf-8',newline='') as f: #newline='' 省略换行
writer = csv.DictWriter(f,titles)
writer.writeheader()
writer.writerows(p)
  • 读取文件
    • 通过reader()读取到的每一条数据就是一个列表,可以通过下标的方式获取具体的某一个值
    • 通过DictReader()读取到的数据是一个字典,可以通过Key方式获取数据
1
2
3
4
5
6
7
8
9
10
11
12
#csv 读取文件
import csv
#第一种
with open('persons.csv','r',encoding='utf-8') as f:
reader = csv.reader(f)
for i in reader:
print(i)
#第二种
with open('persons.csv','r',encoding='utf-8') as f:
reader = csv.DictReader(f)
for i in reader:
print(i['name'])