1. 程式人生 > >[python基礎] csv.wirterow()報錯UnicodeEncodeError

[python基礎] csv.wirterow()報錯UnicodeEncodeError

div 這樣的 編碼 pen result 解決 write 格式 數據

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。

[python基礎] csv.wirterow()報錯UnicodeEncodeError