python写入csv文件中文乱码解决方案

问题

最近处理数据时需要将txt文件转化成csv格式,txt中正常存储显示的中文在写入到csv文件时变成了乱码,文件的编码未能正确处理中文,需要在写入csv文件时指定编码。

解决方法

1
2
3
4
csvfile = file('data.csv', 'wb')
# Display chinese correctly
csvfile.write(codecs.BOM_UTF8)
spamwriter = csv.writer(csvfile)

关键的一句话就是csvfile.write(codecs.BOM_UTF8),能够正常显示中文。