[Python] pandasでUnicodeDecodeErrorが起きた時

Windowsで作成したcsvファイルをpandasで開こうとすると、良くUnicodeDecodeErrorが出ていらいらさせられます。

read_csvでencoding=’cp932’つけることで今までは解決していたのですが、なぜか今回はうまくいきません。

# いつものやり方
import pandas as pd
df = pd.read_csv("japanese.csv",encoding='cp932')

結局、atomエディタにConvertToUTF8というパッケージを入れて、このパッケージでcsvデータをUTF8に変換することで解決しました。

convert-to-utf8

Shift_JIS, EUC-JP, CP932, GBK, BIG5, BIG5-HKSCS, EUC-KR …といった様々な文字コードのファイルをutf-8に変換してくれる、atomのパッケージです。

convert-to-utf8

変換の方法は以下です。

  1. CSVファイルをatomで開く
  2. package > ConvetToUTF8 > Japanese(Shift-JIS)
  3. CSVファイルを保存
  4. pandasで開く

無事に開けて良かった…。

nkf

linux であれば、nkfというコマンドで、文字コードの変換を行えます。

【 nkf 】コマンド――文字コードと改行コードを変換する

試してませんが、windowsバージョンもあるようです。

nkfツールで文字コードを変換する(Windows編)