私の備忘録がないわね...私の...

画像処理とかプログラミングのお話。

pandasでUnicodeDecodeError が出たときにやることまとめ

pandasでCSVファイルを読み込むときにUnicodeDecodeErrorが出た、そんなときは以下のどれかを試しておけばまぁ上手くいくはず......みたいな備忘録

import pandas as pd

普通

df = pd.read_csv(path, encoding="utf-8")

pd.read_csvはデフォルトでencoding=Noneですが、中身の処理的にはencoding="utf-8"と同じです。

選択肢1

df = pd.read_csv(path, encoding="utf-8-sig")

Excelで編集されたCSVファイルとかはよくこれを使うことになります。

選択肢2

df = pd.read_csv(path, encoding="shift-jis")

日本語のCSVファイルだとたまに使います。

選択肢3

df = pd.read_csv(path, encoding="cp932")

変な日本語?とかが含まれていると大体これを使うことになります。

選択肢4

import codecs

with codecs.open(path, "r", "shift-jis", "ignore") as f:
    df = pd.read_csv(f)

これまでの手法でダメだったときはこれを使うことになりますが、あんまり使いません。

参考文献