2016-09-22 3 views
4

私は列名を持ついくつかのデータが含まれているcsvファイルがあります:Pandas.read_csv()

  • "PERIODE"
  • "IAS_brut"
  • "IAS_lissé"
  • "Incidence_Sentinelles"

Iは、pd.read_csv()方法によって誤解として返される第1 「IAS_lissé」に問題があります。

その文字は何ですか?

フラスコのアプリケーションでバグが発生しているので、ファイルを変更せずにの方法でその列を読み取る方法がありますか?

In [1]: import pandas as pd 

In [2]: pd.read_csv("Openhealth_S-Grippal.csv",delimiter=";").columns 

Out[2]: Index([u'PERIODE', u'IAS_brut', u'IAS_liss�', u'Incidence_Sentinelles'], dtype='object') 
+0

が見えます。列名をasciiに変換してみてください。アクセントを失うことに注意してください。 –

答えて

1

あなたはパンダのドキュメントを参照してくださいhere、read_csvためencodingパラメータを変更することができます。また、Pythonの標準エンコーディングはhereです。

あなたの例では、utf-8エンコードを使用することができます(言語がフランス語であることを前提とします)。

df = pd.read_csv("Openhealth_S-Grippal.csv", delimiter=";", encoding='utf-8') 

は、ここではいくつかのサンプル出力を示す例です。私がしたのは、問題の文字を使って、1列のCSVファイルを作成することでした。

df = pd.read_csv('sample.csv', encoding='utf-8') 

出力:パンダは、列名にUnicode文字を扱うことができないよう

IAS_lissé 
0 1 
1 2 
2 3 
+0

Oups!私はエラーがあります(同じもの) '' utf8 'コーデックは8番地のバイト0xe9をデコードできません:データの予期しない終わり ' – farhawa

+3

これはあなたのデータが' utf-8'にエンコードされていないからです。 'latin1'を試してみてください:' pdf.read_csv( "Openhealth_S-Grippal.csv"、delimiter = ";"、encoding = 'latin1') '... – Kartik

+0

「utf-8」に変換する。あなたがあなたのエンコードが何であるかを知るために、あなたがより良い答えをしたいならば、あなたはあなたのCSVかヘッダのサンプルを投稿できます。 – shawnheide

関連する問題