pandasでread_csv (pd.read_table())時にUnicodeDecodeErrorが起きた時の対処
エラー:
(pandasでcsvファイルを読み込むときなど。)
'shift_jis' codec can't decode byte 0x87 in position 4: illegal multibyte sequence
'utf-8' codec can't decode byte 0x95 in position 0: invalid start byte
など。
原因:
もしデフォルト(省略した場合)はutf-8で、utf-8ではないファイルに対しては文字化けするのではなくエラーUnicodeDecodeErrorになる。
正しいエンコーディングを指定すれば大体解決する。
ほかに文字列が混ざっている事もある。その時は encoding='cp932' で指定すれば読み込める (参考リンク, リンク:encoding="utf-8_sig")
それでも解決しない場合の対処法はこれ リンク を参考してください。
知識:
文字コード
簡単に言えば 「文字に割り当てられる固有の番号」のこと。
日本語を表現出来る文字コードは主に三種類がある:
- shift_jis :環境によって文字化けが起こったりする。1文字あたりの容量は少ない。
- utf-8 :文字化けを起こす可能性が低い。文字範囲が広く、どの言語の文字にも対応している。
- euc-jp (あんまり使われていない)
0コメント