Python CSV存储
csv,全称为 Comma-Separated Values,中文可以叫作逗号分隔值或字符分隔值,其文件以纯文本形式存储表格数据 。
1. CSV将已知列表数据写入CSV文件
import csv
#创建或打开一个date_test.csv的文件
with open('data_test.csv','w',newline='') as f:
writer = csv.writer(f)#delimiter可以修改列与列之间的分隔符
writer.writerow(['id','name','age'])
writer.writerow(['1715','YuDi',21])
writer.writerow(['1716','JON',20])
writer.writerow(['1718','Tian',22])
f.close()
打开data_test.csv文件:

2. 二维列表写入(简化1)
import csv
#创建或打开一个date_test.csv的文件
with open('data_test.csv','w',newline='') as f:
writer = csv.writer(f)#delimiter可以修改列与列之间的分隔符
writer.writerow(['id','name','age'])
writer.writerows([['1715','YuDi',21],['1716','JON',20],['1718','Tian',22]])#仔细观察和1的区别
f.close()
3. 写入字典
import csv
with open('data_test.csv','w',newline='') as f:
fieldname = ['id','name','age']
writer = csv.DictWriter(f,fieldnames=fieldname)
writer.writeheader()
writer.writerow({'id':'1001','name':'Dan','age':20})
writer.writerow({'id': '1002', 'name': 'Jon', 'age': 23})
writer.writerow({'id': '1003', 'name': 'Yu', 'age': 21})
f.close()
似乎和列表的写入并没有什么异同点,如果是多个字典的集合呢?不知道writer.writerows()你是否记住了!!!
4. 字典的集合[{}]
import csv
with open('data_test.csv','w',newline='') as f:
fieldname = ['id','name','age']
writer = csv.DictWriter(f,fieldnames=fieldname)
writer.writeheader()
writer.writerows([{'id':'1001','name':'Dan','age':20},{'id': '1002', 'name': 'Jon', 'age': 23},{'id':'1003','name':'YuDi','age':20}])
f.close()
3和4的结果为:

5. 读数据
import csv
with open('data_test.csv','r',encoding='utf-8') as f:
reader = csv.reader(f)
for i in reader:
print(i)
结果
['id', 'name', 'age']
['1001', 'Dan', '20']
['1002', 'Jon', '23']
['1003', 'YuDi', '20']
我们不是初学者,不是应试者,不应该止步于此。

浙公网安备 33010602011771号