2016-10-19 44 views
2

to_excelを使って同じことをすることができると期待しています。これは私のエンコーディング側の問題ではありません。以前に私が見たスレッドのどれも、この問題について論じません。'utf-8'エンコーディングを使用してto_csvを使用して文字列を保存できるので、pandas to_exelを使用して 'utf-8'形式の文字列を保存する方法(to_csvは.csvとして保存できます)

私は、Windows 7(アナコンダ)とパンダ0.18.1

私はのように(「UTF-8」などのエンコーディング)の特殊文字を含むパンダのデータフレームを保存するために関連する2つの質問を持っている上でのpython 2.7.12を使用しています.csvファイルまたは.xlsxファイル。例えば

import pandas as pd 

# Create a Pandas dataframe from the data. 
df = pd.DataFrame({'Data': ['1', 'as', '?%','ä']}) 

私はすべての問題のない.cvsファイルとしてデータフレームを保存することができます:

、それが動作します。データをインポートする際に、Excelで「utf-8」を選択する必要があります。

これで、.xlsxと同じデータフレームを保存しようとすると、動作しません。

私は次のコードを持っている:

# Create a Pandas Excel writer using XlsxWriter as the engine. 
writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter', options={'encoding':'utf-8'}) 

# Convert the dataframe to an XlsxWriter Excel object. 
df.to_excel(writer, sheet_name='Sheet1',encoding='utf-8') 
writer.save() 

を、私は次のエラーメッセージました:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 7: ordinal not in range(128)

私はエンコーディングを設定するための正しいオプションを使用して100%を確認していない:

options={'encoding':'utf-8'} 

および

encoding='utf-8' 

ドキュメントから進める方法がわかりません。

どのようにすればよいでしょうか?

df.to_csvに関連するボーナス質問です。セパレータとして特殊文字を使用する方法はありますか?何らかの理由で、私がRからPythonに移行したコードは、sep = '¤'を使用しています。すべての可能な方法でこの特殊文字をエンコードしようとしましたが、常に失敗しました。それは可能ですか?

どうもありがとう

乾杯

ファビアン

+0

[パンダ:エンコーディングの問題を解決するために保存]の可能な複製(http:// stackoverflow。コム/質問/ 34485982 /パンダ・セーブ・ツー・エクセル・エンコーディング発行) –

+0

好きな \t この質問はすでにここに答えを持っていることがあります。 パンダを:私はできる午前以来、エンコードの問題2つの解答 をエクセルへの保存'utf-8'エンコーディングを使用してto_csvを使用して文字列を保存するには、to_excelを使用して同じことを行うことができると期待しています。これは私のエンコーディング側の問題ではありません。以前に私が見たスレッドのどれも、この問題について論じません。私が間違っていれば私を修正してください。 –

答えて

0

あなたはXlsxWriterモジュールがそれを使用しないため、その後encoding='utf-8'が無視されるExcelの書き込みエンジンとしてxlsxwriterを使用している場合。

XlsxWriterでは、文字列データがutf8としてエンコードされている必要があります。その後、自動的に文字列を処理します。

したがって、あなたが書き込んでいる文字列データが、Pandasを介してutf8としてコード化されていることを確認する必要があります。読み取ったとき、またはデータフレームにデータが入った後です。

+0

ありがとう@jmcnamara、これは私の問題を説明します。データフレーム内のエンコーディングを修正することで、私の問題を解決しました。 –

関連する問題