【问题标题】:python 3 read csv UnicodeDecodeErrorpython 3读取csv UnicodeDecodeError
【发布时间】:2017-07-26 04:14:38
【问题描述】:

我有一段非常简单的代码,它接收 CVS 并将其放入 2D 数组中。它在 Python2 上运行良好,但在 Python3 中出现以下错误。查看文档,我认为我需要使用 .decode() 有人可以解释一下如何在我的代码上下文中使用它以及为什么我不需要在 Python2 中做任何事情 p>

错误: 第 21 行,在 对于数据读取器中的行: 解码中的文件“/usr/lib/python3.6/codecs.py”,第 321 行 (结果,消耗)= self._buffer_decode(数据,self.errors,最终) UnicodeDecodeError:“utf-8”编解码器无法解码位置 5002 中的字节 0xa9:无效起始字节

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)

【问题讨论】:

    标签: csv python-unicode python-3.6


    【解决方案1】:
    open(argv[1], encoding='ISO-8859-1')
    

    CSV 包含的字符不是 UTF-8,这似乎是默认值。然而,我很惊讶 python2 没有任何问题地处理了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-24
      • 2011-06-22
      • 2018-12-26
      • 2012-09-26
      • 2018-02-21
      • 2013-08-12
      相关资源
      最近更新 更多