[python基础] csv.wirterow()报错UnicodeEncodeError

python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错,python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式。

我在写一个脚本存储数据到csv时

1 with open('result_data2.csv', 'w') as file_out:
2     file_out.write(codecs.BOM_UTF8)
3     csv_writer = csv.writer(file_out)
4     for item in ret_list:
5         csv_writer.writerow(item)

因为数据有类似u'xb7'的unicode编码时出现了错误,不得不重新跑一遍,郁闷啊。

解决如下:开头添加

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

DONE。

猜你喜欢

转载自www.cnblogs.com/halleluyah/p/9647460.html