エラー対処:UnicodeDecodeError

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コメント

  • 1000 / 1000