ExcelWriter を使用してデータフレームを Excel スプレッドシートに書き込もうとしていますが、エラーが返され続けます。
openpyxl.utils.exceptions.IllegalCharacterError
データフレームに ExcelWriter が好まない文字が含まれているのではないかと思います。データフレームは 3 つの Excel スプレッドシートから構成されているため、Excel が好まない文字が存在するとは考えられません。奇妙に思えます。
データフレームを反復処理して、ExcelWriter が好まない文字を置き換える方法はありますか? 単に削除するだけでもかまいません。
データフレームから不正な文字を削除または置換する最善の方法は何ですか?
ベストアンサー1
Haipeng Su さんの回答に基づいて、次のことを実行する関数を追加しました。
dataframe = dataframe.applymap(lambda x: x.encode('unicode_escape').
decode('utf-8') if isinstance(x, str) else x)
基本的に、Unicode 文字が存在する場合はそれをエスケープします。うまく機能し、Excel スプレッドシートに再び書き込むことができるようになりました。