Effective Computer Science - 頂は礎の上に -

新しい技術の多くは基礎的な技術の上に成り立っています。激動の技術変化に耐えうる体系知識の習得を目的に「基礎と実践の架け橋」となるサイトを目指します。

【Python csv】UnicodeDecodeError 解決法

f:id:hatanaman2:20180911165946p:plain

csvを読み込もうとしてエラー発生

 with open(filepath, 'r') as f:
        reader = csv.reader(f)
        for row in reader:
            print(row)

を実行すると以下の「UnicodeDecodeError」

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

文字コード確認

nkf --guess filepath

=>Shift_JIS (CRLF) codecを利用

 import codecs

 with codecs.open(filepath, 'r', 'shift_jis') as f:
        reader = csv.reader(f)
        for row in reader:
            print(row)