python讀取文件,顯示成'\xe7\xa7\x81\xe8\x90\xa5',再寫入到文件時,顯示亂碼。
第一種原因:
網上查了許多方法,沒有找到原因及解決的方法,讀取處理的編碼都確認是正常的,就是找不到原因,
最後發現是選擇的編輯器的編碼問題
解決方法:
不知道什麼時候把sublime的Build System選擇成mypp.untiled,導致上面亂碼問題,將其改爲python後,問題解決。
第二種原因:
設置文件寫入屬性後可以解決此問題
關鍵的一句就是:csvfile.write(codecs.BOM_UTF8)
import csv
import codecs
f = open('../test.csv', 'wb')
f.write(codecs.BOM_UTF8) # 使用此處可以解決寫入CSV文件中文亂碼的問題
csv_w = csv.writer(f)
...
csv_w.writerow(line)
f.close()