2016-09-03 85 views
0

我可以讀取一個csv文件,其中有一列包含中文字符(其他列是英文和數字)。但是,漢字顯示不正確。見下文如何在熊貓數據框中顯示中文字符?

enter image description here

我裝csv文件與pd.read_csv()照片。

display(data06_16)data06_16.head()將不會正確顯示中文字符。

我試着將下列行添加到我的.bash_profile

export LC_ALL=zh_CN.UTF-8 
export LANG=zh_CN.UTF-8 

export LC_ALL=en_US.UTF-8 
export LANG=en_US.UTF-8 

,但它並不能幫助。

我也試圖encoding ARG添加到pd.read_csv()

pd.read_csv('data.csv', encoding='utf_8') 
pd.read_csv('data.csv', encoding='utf_16') 
pd.read_csv('data.csv', encoding='utf_32') 

這將無法工作。

如何正確顯示漢字?

+0

您是否嘗試過'中文'語言的編解碼器 - 說'encoding ='gb2312'? –

+0

謝謝。我嘗試了你建議的編碼,但是返回錯誤:'UnicodeDecodeError:'gb2312'編解碼器無法解碼位置2-3中的字節:非法多字節序列 – Daniel

回答

0

我在這裏看到的三種可能的問題:

1)你可以試試這個:

import codecs 
x = codecs.open("testdata.csv", "r", "utf-8") 

2)另一種可能性理論上可以這樣:

import pandas as pd 
df = pd.DataFrame(pd.read_csv('testdata.csv',encoding='utf-8')) 

3)也許你應該在用Python導入之前將你的csv文件轉換爲utf-8(例如在Notepad ++中)?當然,它可以是一次性導入的解決方案,而不是自動處理的解決方案。

0

我只記得那源數據集中使用encoding='GBK'創建的,所以我試圖再次使用

data06_16 = pd.read_csv("../data/stocks1542monthly.csv", encoding="GBK") 

現在,我可以看到所有的中國字。

謝謝你們!