背景:由於需要讀取的文件編碼與系統環境編碼的不同,比如繁體windows系統讀取簡體的csv文檔,經常會出現一些難以解決的編碼問題,也是試了網上許多方法均不得解,最終采取
改變Python標准輸出的默認編碼來解決。
常見報錯:1、ValueError: Expected 2 fields in line 2, saw 3
2、UnicodeEncodeError: 'cp950' codec can't encode character '\u76d8' in position 388: illegal multibyte sequence
解決方案:
Python3:
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8') #改變標准輸出的默認編碼
Python2:
import sys
reload(sys)
sys.setdefaultencoding('utf8') #改變標准輸出的默認編碼
