今天本人在用python讀取csv文件格式數(shù)據(jù)并進(jìn)行處理的過程中(如何讀取方式參考另一篇短文),遇到了一個(gè)編譯報(bào)錯信息 'gbk' codec can't decode byte 0xbb in position 53: illegal multibyte sequence,如下圖。

圖1 報(bào)錯信息
通過網(wǎng)上搜索,我找到了一些對我來說都不適用的解決方案,這里先羅列一下。
1、加上 encoding用 utf-8 編碼打開,如第10行,with?open("06142222.csv",?'r',encoding = utf-8)?as?f:?
2、加入 ‘ignore’,表示忽略錯誤,如第十行,with?open("06142222.csv",?'r','ignore')?as?f:
但是這兩個(gè)方法對我來說并不適用,并且在之前的那篇短文中,這個(gè)程序是可以運(yùn)行的,于是,我開始懷疑數(shù)據(jù)本身格式的問題。這里我把這個(gè)csv文件中的數(shù)據(jù)復(fù)制到notepad++中查看,果然,發(fā)現(xiàn)了一些異樣,如下圖。

圖2 csv中數(shù)據(jù)

圖3 notepad++打開數(shù)據(jù)
可以發(fā)現(xiàn),在csv中看似整整齊齊的數(shù)據(jù),在notepad++中卻存在錯亂的問題,由于我的數(shù)據(jù)樣本不大,經(jīng)過我人為的調(diào)整之后,再次運(yùn)行程序,直接通過。好了,回到這個(gè)csv數(shù)據(jù)格式的問題上,為什么會出現(xiàn)這樣的問題,我在想這可能是我人為調(diào)整過csv源數(shù)據(jù)造成的。