python - pandas读取中文的时候乱码 要如何解决?
巴扎黑
巴扎黑 2017-04-18 10:28:36
0
4
1267

下载了一份新浪微博的数据,但是原始数据是用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") 这样的时候读取不会有错

但是读取进来发现是这样的:

中文全部

然后测试了
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 pandas
df = pandas.read_csv("week1.csv")
巴扎黑
巴扎黑

全員に返信(4)
伊谢尔伦

コードと元のデータをください


いくつかの有能なコードと代表的なデータを書くだけで、数ギガバイトのビッグデータを作成しないでください~

誰が見ていますか?

いいねを押す +0
大家讲道理

私もあなたと同じ状況にあり、多くのエンコードを試しましたが、まだ役に立ちません。ただし、データがUTF8でエンコードされている場合、当面考えられる解決策は次のとおりです。 openを使って一行ずつ読み込んでいくと、エンコード変換が発生するとエラーが破棄されてしまうため、実際にはかなりのデータ量になります

いいねを押す +0
小葫芦

cp1252 を使用してみることもできます。最善の方法は、まずchardetパッケージ(https://pypi.python.org/pypi/...)を使用して、ファイルにどのようなエンコーディングが使用されているかを確認することです。

いいねを押す +0
Peter_Zhu

試してみても問題ありませんでした。環境のエンコーディングに問題があると思いますので、次のコードを試してみてください。 リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート