初心者のメモ

Python enthusiast

csv処理でUnicodeDecodeErrorがでるときの対処法

codecsモジュールを使えば解決

例えば、csvファイルをリストに打ち込む場合は

#!/usr/bin/python3
# coding: UTF-8

import csv 
import codecs

csvdata = []

def csv2list(filepath):
    with codecs.open(filepath, encoding = "utf-8") as f:
        reader = csv.reader(f)
        csvdata = [ row for row in reader]

    return csvdata

でいける。あとは"utf-8"を"shift_jis"にしたりすることも。

原因

Python文字コードUnicodeに変えたり、環境に合った文字コードに変えたりする際、認識できずに落ちるのが原因。

参考: