如题,存csv的dictionary里key和value必须是str而不是unicode,上代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import csv
with open('names.csv', 'w') as csvfile:
fieldnames = ['first_name', 'last_name']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerow({'first_name': 'Baked\n sddsd', 'last_name': 'Beans\tsdfsaf'})
writer.writerow({'first_name': '😍 😍', 'last_name': 'Spam'})
writer.writerow({'first_name': u'中文'.encode("utf-8"), 'last_name': 'Spam'}) #python2里的dict要存str而不是unicode,所以encode把unicode转成str
with open('names.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row['first_name'])