csv

读取csv文件

1
2
3
4
5
6
7
import csv

with open('stock.csv', 'r',encoding='utf-8')) as fp:
reader = csv.reader(fp)
title = next(reader)
for x in reader:
print(x)

这样操作,以后获取数据的时候,就要通过下表来获取数据。如果想要在获取数据的时候通过标题来获取,那么可以使用DictReader。示例代码如下:

1
2
3
4
5
6
import csv

with open('stock.csv', 'r',encoding='utf-8')) as fp:
reader = csv.DictReader(fp)
for x in reader:
print(x['address'])

写入数据到csv文件

写入数据到csv文件,需要创建一个writer对象,主要用到两个方法,一个是writerow,这个是写入一行。一个是writerwos,这个是写入多行,示例代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
import csv

headers= ['name','age','classroom']
values = [
('Messiless',34,'python'),
('masorl',45,'java'),
('jack',42,'go')
]
with open('test.csv','w',newline='',encoding='utf-8') as fp:
# 因为写入一行默认加了一个\n,所以要给newline设置值为空
writer = csv.writer(fp)
writer.writerow(headers)
writer.writerows(values)

也可以使用字典的方式把数据写入进去。这时候就需要使用DictWriter了.示例代码如下:

1
2
3
4
5
6
7
8
9
10
11
import csv
headers= ['name','age','classroom']
values= [{'username':'Messiless','age':34,'classroom':'python'},
{'username':'masorl','age':45,'classroom':'java'},
{'username':'jack','age':42,'classroom':'go'}
]
with open('test.csv','w',newline='',encoding='utf-8') as fp:
writer = csv.DictWriter(fp,headers)
# 写入表头数据的时候,需要调用writerheader方法
writer.writerheader()
writer.writerows(values)