なろう分析記録

『小説家になろう』をふくめ『ネット小説投稿サイト』を分析する。コード置き場,主にPython,javascript,たまに創作。

【Python】IllegalCharacterErrorを回避する方法

Pandasでたまに出る「IllegalCharacterError」

スクレイピングや各種APIから文字データを取得し、Pandasでエクセルファイルに書き出そうとする時、たまに表示される「IllegalCharacterError」を回避する方法について調べてみました。
f:id:karupoimou:20190929235500p:plain

原因

原因は対象データに含まれる文字コードの様です。
pandasのデータフレームに入れた段階ではエラーになりませんが、エクセルファイルに書き出そうとするときにエラーが生じるみたいです。

qiita.com

解決方法

「xlsxwriter」を使う方法が一番シンプルみたいです。

pandasのデフォルトでは「openpyxl 」がエクセルでの書き出しエンジンに使われていますが、これを「xlsxwriter」に変えることでエラーを回避できます。

pip

pip install xlsxwriter

df.to_excel("test.xlsx", engine='xlsxwriter')

stackoverflow.com


pd.ExcelWriterを使う場合はこちら↓

xlsxwriter.readthedocs.io