2017-03-06 5 views
1

私はCVSを取り込んで2D配列に入れる非常に単純なコードを持っています。 Python2では正常に動作しますが、Python3では以下のエラーが発生します。ドキュメントを見て、私は私が誰かが私のコードのコンテキストでそれを使用する方法について説明してもらえ.decode()を使用する必要があると思うし、私はpython 3 csv UnicodeDecodeErrorを読み込みます

Error: line 21, in for row in datareader: File "/usr/lib/python3.6/codecs.py", line 321, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa9 in position 5002: invalid start byte

import csv 
import sys 

fullTable = sys.argv[1] 

datareader = csv.reader(open(fullTable, 'r'), delimiter=',') 
full_table = [] 
for row in datareader: 
     full_table.append(row) 

print(full_table) 
Python2で何もする必要はありません理由

答えて

0
open(argv[1], encoding='ISO-8859-1') 

CSVには、デフォルトのように見えるUTF-8以外の文字が含まれていました。私はしかし、Python2はこの問題を何の問題もなく処理したことに驚いています。

関連する問題