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

今天修改程序,需要写入csv文件,发现中文会乱码,后来查了下,可以设置文件写入属性后,就可以解决:

import csv

import codecs

list=['a101','b101']

sumlist=[]

for str in list:

templist=[]

templist.append('a')

templist.append('b')

templist.append('c')

sumlist.append(templist)

csvfile = file('csv_test.csv', 'wb')

csvfile.write(codecs.BOM_UTF8)

writer = csv.writer(csvfile)

writer.writerow(['姓名', '年龄', '电话'])

#data = [

# ('小河', '25', '1234567'),

# ('小芳', '18', '789456')

#]

writer.writerows(sumlist)

csvfile.close()

最为关键的一句就是:csvfile.write(codecs.BOM_UTF8),有了这一句,中文就能正常写入