您的位置:首頁技術文章
文章詳情頁

python - pandas讀取中文的時候亂碼 要如何解決?

瀏覽:122日期:2022-08-19 14:15:22

問題描述

下載了一份新浪微博的數據,但是原始數據是用csv的,在mac上沒辦法直接打開,讀取的時候,也會錯誤,會出現

UnicodeDecodeError: ’utf-8’ codec can’t decode byte 0x84 in position 36: invalid start byte

然后自己google,發現read_csv(’file’, encoding = 'ISO-8859-1') 這樣的時候讀取不會有錯

但是讀取進來發現是這樣的:

中文全部python - pandas讀取中文的時候亂碼 要如何解決?

然后測試了read_csv(’file’, encoding = 'gbk')read_csv(’file’, encoding = 'utf8')read_csv(’file’, encoding = 'gb18030')總之就是各種不行~基本的情況如下:

UnicodeDecodeError: ’gb18030’ codec can’t decode byte 0xaf in position 12: incomplete multibyte sequence

有大神遇到類似的情況嗎?

有大神說要數據 因為比較大,熱心的人可以看看 不過我覺得挺有用的下面是微博的數據鏈接:http://pan.baidu.com/s/1jHCOwCI 密碼:x58f

補充一下代碼吧~上面隨意一個文件下載下來(是csv格式的)然后用pandas打開就會出錯~

import pandasdf = pandas.read_csv('week1.csv')

問題解答

回答1:

給代碼和原數據

你寫點能代碼+有代表性的數據 即可,別搞幾G的大數據阿~

誰看???

回答2:

跟你一樣的情況,試了很多編碼仍然沒有用,但是看數據用UTF8編碼的話,有的數據能轉換成功,所以我暫時能想到的辦法就是用open去按行讀取,如果出現編碼轉換錯誤就丟掉,這樣下來數據量其實也不少

回答3:

你也可以試試用cp1252。最好的方法是先通過chardet包(https://pypi.python.org/pypi/...)看文件具體上用什么encoding。

回答4:

試過了沒有問題呀,我猜想應該是你環境編碼問題吧,可以嘗試一下以下代碼

#coding=utf-8import pandas as pdimport sysreload(sys)sys.setdefaultencoding('utf-8')df = pd.read_csv(’week1.csv’, encoding=’utf-8’, nrows=10)print df

標簽: Python 編程
相關文章:
国产综合久久一区二区三区