使用unicodecsv读取csv:UnicodeDecodeError

时间:2015-04-06 19:04:27

标签: python csv unicode

我有这些代码行:

zf = zipfile.ZipFile(self.temp_file, 'r')
data = zf.open('myfile.csv', mode='r')
result = [link for link in unicodecsv.DictReader(data)]

以下是异常代码:

UnicodeDecodeError: 'utf8' codec can't decode byte 0xc9 in position 13: invalid continuation byte

输入字符串是:

CAFÉ RESTAURANT

那么我做错了什么以及为什么unicodecsv无法处理utf-8?

1 个答案:

答案 0 :(得分:3)

这是因为您的输入不是 UTF-8,而是拉丁语-1(或类似)。在UTF-8中,É被编码为2个字节:'\xc3\x89'。该错误通知输入中满足\xc9字节;这是在Latin-1或Win-1252代码页中的É s编码。