2017-10-23 15 views
1

私はPython 2.7とPandasを使用しており、スウェーデン語の文字に問題があります。スウェーデン語の文字パンダで動作しますが、私はデータフレームからリストを作成するときに何かが間違って取得します。リストにスウェーデンの文字を維持するためにどのように任意のアイデアをパンダとスウェーデン語のスウェーデン語の文字

import pandas as pd 

d = {'name': ['Åberg', 'Östlund', 'Älberg', 'Ericsson'], 
    'age': [22,38,26,35] 
    } 

    df = pd.DataFrame(d) 

    print(df) 


    age  name 
0 22  Åberg 
1 38 Östlund 
2 26 Älberg 
3 35 Ericsson 

df['name'].tolist() 

['\xc3\x85berg', '\xc3\x96stlund', '\xc3\x84lberg', 'Ericsson'] 

答えて

0

これらはリストに残されていますが、Python 2はユニコード文字列をレンダリングします。あなたは、それぞれの値を印刷することで、これを見ることができます:

In [11]: for name in df.name.tolist(): print(name) 
Åberg 
Östlund 
Älberg 
Ericsson 

参加してあなたが参加リストをレンダリングすることができます

In [12]: print(", ".join(df.name.tolist())) 
Åberg, Östlund, Älberg, Ericsson 

あなた明示的に彼らはユニコードであることを確認することもできます。

In [13]: [n.decode("utf-8") for n in df.name.tolist()] 
Out[13]: [u'\xc5berg', u'\xd6stlund', u'\xc4lberg', u'Ericsson'] 

あなたが見ることができるように、彼らはまだ不自然に表示されます。

(最善の解決策は、Python 3に更新することです!;))


注:あなたがリストに期待するとしてPython 3がこれらのユニコードをレンダリング:

In [31]: df.name.tolist() 
Out[31]: ['Åberg', 'Östlund', 'Älberg', 'Ericsson'] 
関連する問題