2017-05-05 9 views
1

私はパンダにcvsファイルをインポートしています。最初のいくつかの名前が正しくエンコードされていれば、さらにアクセントがシンボルに戻ります。ほぼ200の名前の非常に大きなファイルです。この問題を解決するためにできることはありますか?私のCSVの半分だけがコード化されています

import sys 
import codecs 
import pandas as pd 
import numpy as np 
import matplotlib.pylab as plt 
#%matplotlib inline 
from matplotlib.pylab import rcParams 
sys.stdout = codecs.getwriter("ISO-8859-1")(sys.stdout.detach()) 
rcParams['figure.figsize'] = 15, 6 


data = pd.read_csv('IndNames.csv', encoding='ISO-8859-1') 
pd.get_option("display.max_rows") 
pd.set_option('expand_frame_repr', False) 
pd.set_option('display.height', 500) 
data.align(data, axis=1) 
print(data.head(n=182)) 

Ex: José 
    José 

編集:ftfyは、データフレーム

EDIT1では動作しません:私はcsvファイルのすべてにそれを保存し、問題が正常で把握することはできません、私は再びそれを使用するpd.read_csvを使用するとき、それはですエンコードされていない。

+0

参照[** 'ftfy' **](https://でftfy .readthedocs.io/en/latest /)を使用して、不正にエンコードされたユニコードを検出して修正します。 –

+0

[Pythonの重複する可能性のあるutf-8エンコーディングを修正する方法?](http://stackoverflow.com/questions/26491448/python-how-壊れたutf-8エンコーディング) –

答えて

0
sys.stdout = codecs.getwriter("UTF-8")(sys.stdout.detach()) 

簡単な修正と、それは私がそれをしようとしたときに前に動作しませんでしたが、これはトリックをしなかった理由を私は知らない

+0

誰かがこれがなぜ機能したのか説明できるなら、私はそれを感謝するだろう – tin

関連する問題