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', '性別': '女'} *