読者です 読者をやめる 読者になる 読者になる

エラー解決:pandas.read_csvで日本語を含んだcsvを読み込めない

エラー内容

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x?? in position 0: invalid start byte

原因

ファイルにshift-jisの文字列が含まれているため。

解決法

オプションで指定

import pandas as pd
df = pd.read_csv("filename.csv", encoding="shift-jis")

print('df:', df.shape)

エラーを放置してshift-jisに変換

import codecs as cd
import pandas as pd

with cd.open("filename.csv", "r", "Shift-JIS", "ignore") as csv_file:
    df = pd.read_table(csv_file)

print('df:', df.shape)

関連エラー

stackoverflow.com