How to display Chinese characters inside a pandas dataframe?
<p>I can read a csv file in which there is a column containing Chinese characters (other columns are English and numbers). However, Chinese characters don't display correctly. see photo below</p>

<p><a href="http://i.stack.imgur.com/nG6oN.png" rel="nofollow"><img src="http://i.stack.imgur.com/nG6oN.png" alt="enter image description here"></a></p>

<p>I loaded the csv file with <code>pd.read_csv()</code>. </p>

<p>Either <code>display(data06_16)</code> or <code>data06_16.head()</code> won't display Chinese characters correctly. </p>

<p>I tried to add the following lines into my <code>.bash_profile</code>:</p>

<pre><code>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
</code></pre>

<p>but it doesn't help. </p>

<p>Also I have tried to add <code>encoding</code> arg to <code>pd.read_csv()</code>: </p>

<pre><code>pd.read_csv('data.csv', encoding='utf_8')
pd.read_csv('data.csv', encoding='utf_16')
pd.read_csv('data.csv', encoding='utf_32')
</code></pre>

<p>These won't work at all. </p>

<p>How can I display the Chinese characters properly? </p>

<p>I see here three possible issues: </p>

<p>1) You can try this:</p>

<pre><code>import codecs
x = codecs.open("testdata.csv", "r", "utf-8")
</code></pre>

<p>2) Another possibility can be theoretically this:</p>

<pre><code>import pandas as pd
df = pd.DataFrame(pd.read_csv('testdata.csv',encoding='utf-8')) 
</code></pre>

<p>3) Maybe you should convert you csv file into utf-8 before importing with Python (for example in Notepad++)? It can be a solution for one-time-import, not for automatic process, of course.</p>

python csv pandas encoding chinese-locale