CSV:逗号分隔值,其文件以纯文本形式存储表格数据。一般通用的用法在下面的代码中。
#csv文件的读写
import csv
#将数据写入csv文件
title = ['编号','姓名','年龄','性别']
data = [(1,'张三',20,'男'),(2,'小红',18,'女')]
with open('userInfo.csv','w',encoding='gb18030',newline='') as fp: #这里是创建文件
writer = csv.writer(fp)
writer.writerow(title)
writer.writerows(data)
pass
with open('userInfo.csv','r',encoding='gb18030',newline='') as fp:
reader = csv.reader(fp)#返回的是迭代器
for i in reader:
print(i)
pass
#行读取
with open('userInfo.csv','r',encoding='gb18030',newline='') as fp:
result = fp.readline()
while result:
print(result,end='')
result = fp.readline()
#将csv文件读取为字典结构
with open('userInfo.csv','r',encoding='gb18030',newline='') as fp:
dicts = csv.DictReader(fp)
for line in dicts:
print(dict(line),'*')
#将字典写入CSV
dicts = {'编号': '1', '姓名': '张三', '年龄': '20', '性别': '男'}
with open('userInfo1.csv','w',encoding='gb18030',newline='') as fp:
dictW =csv.DictWriter(fp,fieldnames=dicts.keys())
dictW.writeheader()
dictW.writerow(dicts)
输出结果:
['编号', '姓名', '年龄', '性别']
['1', '张三', '20', '男']
['2', '小红', '18', '女']
编号,姓名,年龄,性别
1,张三,20,男
2,小红,18,女
{'编号': '1', '姓名': '张三', '年龄': '20', '性别': '男'} *
{'编号': '2', '姓名': '小红', '年龄': '18', '性别': '女'} *