2016-03-30 17 views
3

で文字化け登場:私の.ipynbの上部にパンダデータフレームのアクセント付き文字を使用してExcel

# -*- coding: utf-8 -*- 

、Jupyterが正しくアクセント付き文字が表示されています。

私は(.to_csv()に)CSVファイルにエクスポートするアクセント付き文字を含むpandasデータフレーム:CSVファイルをExcelで開いたときに

enter image description here

...の文字が正しく表示されません。

enter image description here

これは私がencoding='utf-8'かを設定するかどうかの場合です。 pandas/pythonはこれをすべて実行していますが、これはExcelの問題ですか?または、何かをcsvへのエクスポートの前に行うことができますか?

  • のPython:2.7.10
  • パンダ:0.17.1
  • エクセル:あなたはExcelが協力してもらうことができない場合はMacの2011エクセル
+1

としてみてください。 csvインポートオプションを確認してください。それらの1つは文字エンコーディングでなければなりません。 – awm

+1

'to_excel()'は同じ問題を抱えていないようですが、私は.xlsとしてエクスポートする必要がありますが、これは理想的ではありません。 – Pyderman

+1

私はここで答えを見つけると思います(テキストのインポートウィザードを使用してください):http://stackoverflow.com/questions/155097/microsoft-excel-mangles-diacritics-in-csv-files – awm

答えて

1

たぶんあなたの列に対してこの機能を試してみてください。それはunicodedataライブラリを使用してアクセントを削除します:

import unicodedata 

def remove_accents(input_str): 

    if type(input_str) == unicode: 
     nfkd_form = unicodedata.normalize('NFKD', input_str) 
     return u"".join([c for c in nfkd_form if not unicodedata.combining(c)]) 
    else: 
     return input_str 
+0

私は実際にあなたの機能は将来便利になるかもしれませんが、アクセント。それが意図されていることをしているかどうかは分かりません。クイックテストを試してみてください:http://pastebin.com/gA8FuGDq – Pyderman

+0

それはとても奇妙です。それは、上のアクセントを削除する必要があります... –

1

あなたがアクセントを維持したい場合は、エンコーディング=「ISO-8859-1」

それはExcelの問題の最も可能性の高い
df.to_csv(path,encoding='iso-8859-1',sep=';') 
関連する問題