讀寫csv文件用到的函數reader、writer;類DictReader、DictWriter
1.reader方法的使用
查看reader方法的幫助說明
>>> help(csv.reader)
Help on built-in function reader in module _csv:
reader(...)
csv_reader = reader(iterable [, dialect='excel']
[optional keyword args])
for row in csv_reader:
process(row)
csv文件上的數據:

import csv
reader = csv.reader(file('data.csv','rb')
for line in reader
print line
打印出來的結果是數組類型,有文件中幾行數據就打印幾個數組,不區分表頭和值
輸出結果:

2.writer方法的使用
查看help說明
>>> help(csv.writer)
Help on built-in function writer in module _csv:
writer(...)
csv_writer = csv.writer(fileobj [, dialect='excel']
[optional keyword args])
for row in sequence:
csv_writer.writerow(row)
[or]
csv_writer = csv.writer(fileobj [, dialect='excel']
[optional keyword args])
csv_writer.writerows(rows)
The "fileobj" argument can be any object that supports the file API.
writer的使用:
import csv
writer = csv.writer(file('data.csv','wb'))
writer.writerow(['Column1','Column2','Column3']) #寫入csv文件的表頭
lines = [range(3) for i in range(5)] #[[0,1,2],[0,1,2],[0,1,2],[0,1,2],[0,1,2]]
writer.writerows(lines) #同時寫入多行信息
或:
for line in lines:
writer.writerow(line) #一次寫入一行信息
csv文件上查看寫入結果:

3.DictReader類的使用
csv文件的數據如下:

import csv
reader = csv.DictReader(file('data.csv','rb'))
for line in reader
print line
打印出來的數據是字典類型,表格的表頭為鍵、每一行的值為值,值有幾行就打印幾個字典

4.DictWriter類的使用
import csv
rows = [{'Column1': '0', 'Column2': '1', 'Column3': '2', 'Column4': '3'},
{'Column1': '0', 'Column2': '1', 'Column3': '2', 'Column4': '3'},
{'Column1': '0', 'Column2': '1', 'Column3': '2', 'Column4': '3'},
{'Column1': '0', 'Column2': '1', 'Column3': '2', 'Column4': '3'},
{'Column1': '0', 'Column2': '1', 'Column3': '2', 'Column4': '3'}]
fieldnames = ['Column1','Column2','Column3','Column4'] #定義表頭字段
cr = csv.DictWriter(file('data.csv','wb'),fieldnames = fieldnames)
cr.writeheader() #將表頭名稱寫入csv文件
cr.writerows(rows) #將要寫入的數據一次性寫入到文件,也可以使用cr.writerow()一次寫入一行