Pythonエラー:csvファイルをread_csvしようとした時に「UnicodeDecodeError: ‘utf-8’ codec can’t decode byte xxxx in position xx: invalid start byte」のエラーが出たときの対応

jupyter Notebook等の環境においてpd.read_csvでcsvファイルを読み込もうとした時に、以下のようにutf-8が読めないエラーで怒られることがある。

UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x94 in position 22: invalid start byte

原因(として考えられることの一つ)

shift-JIS形式で保存されているcsvファイルをutf-8形式で読み込もうとしている。mac環境だと基本的にutf-8形式で読み込もうとするので本エラーがよく起こる。

対応

その1

ファイルをExcelで開いて名前をつけて保存→utf-8形式で上書きする。

その2

pd.read_csvにencodingオプションをつける。

#../00_dataのSSDSE-C-2024.csvを読み込む場合

df = pd.read_csv('../00_data/SSDSE-C-2024.csv',encoding="shift-jis")
df.head()

以上

コメント

タイトルとURLをコピーしました