CSV(Comma Separated Values)格式的文件常用于电子表格和数据库中内容的导入和导出。Python标准库csv提供的reader、writer对象和DictReader和DictWriter类很好地支持了CSV格式文件的读写操作。

>>> import csv
>>> with open('test.csv', 'w', newline='') as fp:
 test_writer = csv.writer(fp, delimiter=' ', quotechar='"') #创建writer对象
 test_writer.writerow(['red', 'blue', 'green'])          #写入一行内容
 test_writer.writerow(['test_string']*5)
>>> import csv
>>> with open('test.csv', newline='') as fp:
 test_reader = csv.reader(fp, delimiter=' ', quotechar='"') #创建reader对象
 for row in test_reader:                           #遍历所有行
 print(row)                                 #每行作为一个列表返回
['red', 'blue', 'green']
['test_string', 'test_string', 'test_string', 'test_string', 'test_string']
>>> with open('test.csv', newline='') as fp:
 test_reader = csv.reader(fp, delimiter=' ', quotechar='"')
 for row in test_reader:
 print(','.join(row))                           #重新组织数据形式
red,blue,green
test_string,test_string,test_string,test_string,test_string
>>> import csv
>>> with open('names.csv', 'w') as fp:
 headers = ['姓氏', '名字']
 test_dictWriter = csv.DictWriter(fp, fieldnames=headers)  #创建DictWriter对象
 test_dictWriter.writeheader()                        #写入表头信息
 test_dictWriter.writerow({'姓氏':'张', '名字':'三'})        #写入数据
 test_dictWriter.writerow({'姓氏':'李', '名字':'四'})
 test_dictWriter.writerow({'姓氏':'王', '名字':'五'})
>>> import csv
>>> with open('names.csv') as fp:
 test_dictReader = csv.DictReader(fp)                  #创建DictReader对象
 print(','.join(test_dictReader.fieldnames))              #读取表头信息
 for row in test_dictReader:                          #遍历文件所有行
 print(row['姓氏'],',',row['名字'])
姓氏,名字
张 , 三
李 , 四
王 , 五