python 3 读取 csv UnicodeDecodeError
python 3 read csv UnicodeDecodeError
我有一段非常简单的代码,可以接收 CVS 并将其放入二维数组中。它在 Python2 上运行良好,但在 Python3 上我收到以下错误。查看文档,我想我需要使用 .decode() 有人可以解释一下如何在我的代码上下文中使用它以及为什么我不需要在Python2
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)
open(argv[1], encoding='ISO-8859-1')
CSV 包含的字符不是默认的 UTF-8。然而令我惊讶的是 python2 毫无问题地处理了这个问题。
我有一段非常简单的代码,可以接收 CVS 并将其放入二维数组中。它在 Python2 上运行良好,但在 Python3 上我收到以下错误。查看文档,我想我需要使用 .decode() 有人可以解释一下如何在我的代码上下文中使用它以及为什么我不需要在Python2
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)
open(argv[1], encoding='ISO-8859-1')
CSV 包含的字符不是默认的 UTF-8。然而令我惊讶的是 python2 毫无问题地处理了这个问题。