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')
注:Python3字符串默認編碼unicode, 該語句會報錯sys.setdefaultencoding,
AttributeError: module 'sys' has no attribute 'setdefaultencoding'
DONE。