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['名字'])
姓氏,名字
张 , 三
李 , 四
王 , 五