文档数据存储
CSV数据的写入和读取
常用的数据存储介质有文件、关系式数据库和非关系式数据库。文本文档存储适用于具有时效性的数据,如股市行情、商品信息和排行榜信息等,这类数据具有动态变化性质,非特殊要求下,建议存放文件。python自带标准CSV模块库,不用自行安装。
写入
- 数据读取,函数有writer和DictWriter:
writer写入列表格式,DictWriter写入字典格式
- writer
import csv
with open('1.csv','w',newline='') as f: #“newline”为空,数据之间就不会有空白行
writer = csv.writer(f)
writer.writerow(['name','age','address']) #写入单行数据
writer.writerows([['Anna','18','Beijing'],['Helen','10','Xian']]) #多行数据写入
python打开文件如下:

2. DictWriter
- 不加标题
import csv
with open('1.csv','w',newline='') as f:
writer = csv.DictWriter(f,fieldnames=['id','name','age']) #fieldnames为csv文件每列标题,默认为None。
data ={'id':1,'name':'tes','age':18}
writer.writerow(data)
运行如下:

- 加标题
import csv
with open('1.csv','w',newline='') as f:
writer = csv.DictWriter(f,fieldnames=['id','name','age'])
data ={'id':10,'name':'tes100','age':18}
writer.writeheader() #加上行首标题
writer.writerow(data)
运行如下:

读取
reader和DictReader,两者都是接收一个可迭代的对象,返回一个生成器,reader函数是将一行数据以列表形式返回;DictReader函数返回的是一个字典,字典的值是单元格的值,而字典的键则是这个单元格的标题(列头)
- 数据读取,函数有reader和DictionaryReader:
- reader
import csv
with open('1.csv','r') as f:
reader = csv.reader(f)
row = [row for row in reader]
print(row)
运行如下:

2. DictReader
import csv
with open('1.csv','r') as f:
reader=csv.DictReader(f)
row =[row for row in reader]
print(row)
运行如下:


浙公网安备 33010602011771号