“CSV”并不是一种单一的、定义明确的格式(尽管RFC 4180有一个被通常使用的定义)。因此在实践中,术语“CSV”泛指具有以下特征的任何文件:
reader是一个迭代器,返回为列表
next 方法可以跳过第一行
import csv with open('example.csv', 'r') as f: reader = csv.reader(f) # reader是一个迭代器 next(reader) # 跳过第一行 for x in reader: print(x)
DictReader 是一个迭代器,返回为字典
DictReader不会包含标题的数据
import csv with open('example.csv', 'r') as f: reader = csv.DictReader(f) # reader是一个迭代器 for x in reader: print(x)
import csv headers = ['First Name', 'Last Name', 'Country'] values = [ ('Rick', 'Xu', 'China'), ('Barack', 'Obama', 'USA') ] with open('my.csv', 'w', encoding='utf-8', newline='') as f: writer = csv.writer(f) writer.writerow(headers) writer.writerows(values)
import csv headers = ['First Name', 'Last Name', 'Country'] values = [ {'First Name': 'Rick', 'Last Name': 'Xu', 'Country': 'China'}, {'First Name': 'Barack', 'Last Name': 'Obama', 'Country': 'USA'} ] with open('my.csv', 'w', encoding='utf-8', newline='') as f: writer = csv.DictWriter(f, headers) writer.writeheader() writer.writerows(values)