標籤:

pandas怎樣處理中文?

csv文件中有大量中文,怎樣在pandas裡面顯示呢?現在看起來都是亂碼。謝謝!


pd.read_csv("example.csv",encoding="gb2312")

補充下:

import pandas as pd

df = pd.read_csv("example.csv",encoding="gb2312") 這樣基本能保證pandas讀取中文後不亂嗎,最近遇到還有例外的情況,用encoding = 『gb18030』 就能解決。


首先 python文件開始 添加 一行 #-*- coding=utf-8 -*-

然後調用的時候 pd.read_csv(csvname,encoding="gb2312")

然後看看你的python是保存為什麼編碼的, 推薦用notepad++打開,然後轉化為utf-8 無BOM格式的。 這樣無論在liunx還是window都能保證無亂碼。


TextReader中文路徑問題 (Bug with Chinese characters in file path) · Issue #3634 · pandas-dev/pandas

如果是中文路徑,可以嘗試如上的skipfoot

或者engine=『python』,如下:

df = pd.read_csv(path,encoding = "gbk", engine="python")


import pandas as pd
df = pd.read_csv("001.csv",encoding="gbk")
# goodluck


如果是你自己輸入的中文,有一個簡單的辦法,就是在字元串前面加個u,例如「這是中文」→u「這是中文」。

如果是從別處得到的中文,例如某個文本文件中,需要知道這個文件的編碼方式,再轉碼(就是encode和decode)。但實際上要知道文件的編碼方式不太方便。你可以考慮使用codecs這個庫,在打開這個文件的時候進行轉碼。用法:codecs.open("file.txt","r","utf-8")。

希望可以幫到你。


import pandas as pd

datatrain = pd.read_csv("news.allsites.010805.txt", encoding = "gb18030")

Try this


剛剛解決了這個問題。

如果題主發現樓上的方法都不行的話,有可能是搭建的編程環境的問題。

如果題主用的是mac,可以在mac的終端里輸入

python

import pandas

如果提示錯誤ValueError: unknown locale: UTF-8

則打開你的bash.profile 輸入

export LANG="en_US.UTF-8"

export LC_COLLATE="en_US.UTF-8"

export LC_CTYPE="en_US.UTF-8"

export LC_MESSAGES="en_US.UTF-8"

export LC_MONETARY="en_US.UTF-8"

export LC_NUMERIC="en_US.UTF-8"

export LC_TIME="en_US.UTF-8"

export LC_ALL=

就可以了


pandas 讀入 csv 數據的時候,可以試試

data = pd.read_csv( path , encoding = "gb18030")

對data的數據列進行操作的時候,比如

data_df = data.drop([ u"name" ])

就是再在列名前面加一個u,來代表中文


有些從網站導出的CSV文件,不知道編碼,但Excel可以導入數據。否則打開都是?"×¢òa:·¢???°£???×D??o?? 或者 ??ID/???ID


codecs.open("file.txt","r","utf-8")的方法還是不行呀,誰有好方法嗎


csv為utf-8編碼即可讀入以及正常顯示


推薦閱讀:

哪個網站可以找到本年度的各項經濟數據?
計算機專業學生如何在金融行業和數據挖掘之間做出抉擇?
怎樣理解"curse of dimensionality"?
大數據賺錢真的有那麼誇張?!?
廣告演算法工程師的核心競爭力是什麼?

TAG:數據挖掘 |