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
コメント
[…] 関連記事:【Python】pandasのcsv読み込みで「UnicodeDecodeError」が出たときの解決方法一覧 […]
[…] 関連記事:pandasでcsv読み込み時に「UnicodeDecodeError」が出る際の解決方法 […]
[…] 過去記事:pandasでcsv読み込み時に「UnicodeDecodeError」が出る際の解決方法 […]
[…] 関連記事:pandasでcsv読み込み時に「UnicodeDecodeError」が出る際の解決方法 […]
[…] 関連記事:pandasでcsv読み込み時に「UnicodeDecodeError」が出る際の解決方法 […]