pandas Python

pandasでcsv読み込み時に「UnicodeDecodeError」が出る際の解決方法

この記事は約2分で読めます。

 

pandasでのcsv読み込み時「UnicodeDecodeError」

 

Pythonでcsvの中身をpd.read_csv()で読み込んでデータフレームとしてデータを処理しようとするとたまに「UnicodeDecodeError」が起こることがあります。

 

大抵は以下のように引数のencodingを「utf-8」とか「utf-8-sig」とか「shift-jis」とか「cp932」に適当に変更して再実行すると大抵上手くいくのですが、特殊文字などが含まれている場合はどれでエンコードしてもエラーになるときがあります。

 

import pandas as pd
pd.read_csv('xxx.csv', encoding='shift-jis')
pd.read_csv('xxx.csv', encoding='cp932')
pd.read_csv('xxx.csv', encoding='utf-8')

 

csv読み込み時の「UnicodeDecodeError」の最終手段

 

そんなときは最終手段で以下のように書くと良いです。

(codecsはデフォルトのライブラリなのでpipインストールは不要です)

 

import codecs
with codecs.open(r'path/to/xxx.csv', "r", "shift-jis", "ignore") as f:
    df = pd.read_csv(f)

 

参考:https://qiita.com/niwaringo/items/d2a30e04e08da8eaa643

 

 

コメント

  1. […] 関連記事:【Python】pandasのcsv読み込みで「UnicodeDecodeError」が出たときの解決方法一覧 […]

  2. […] 関連記事:pandasでcsv読み込み時に「UnicodeDecodeError」が出る際の解決方法 […]

  3. […] 過去記事:pandasでcsv読み込み時に「UnicodeDecodeError」が出る際の解決方法 […]

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