UnicodeDecodeError:尝试读取文档时无效的连续字节

问题描述:

我正在尝试读取包含产品数据的文档并打印某些产品的数据。问题是,我似乎无法读取它,没有错误。我只是试图打印前100个字符,以便读取它,然后我可以找出需要打印的内容以及如何将其从文件中取出。但我被卡住了。该文件是UTF-8,或者它应该是...我错过了什么?UnicodeDecodeError:尝试读取文档时无效的连续字节

这里是我的代码:

,这里是回溯我得到:

Traceback (most recent call last): 
File "nilescratchpad.py", line 2, in <module> 
productsread = products.read() 
File "/Library/Frameworks/Python.framework/Versions/3.6/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 0xe2 in position 7451: invalid continuation byte 
+0

如果您阅读了文档,并且它在UTF-8编解码器中引发错误,那么它不是UTF-8,或者至少有错误。你可以试试'open('products.csv',errors ='replace')'。 –

+0

某处肯定有错误。这工作!非常感谢!出于好奇,它是什么取代了错误? – pinkpython

如果你读了文件,它抛出用UTF-8编码解码器的错误,那么它不是UTF-8,或者至少有错误。 open('products.csv',encoding='utf8',errors='replace')将用Unicode代码点U+FFFD REPLACEMENT CHARACTER替换所有错误,但请确保您的大部分文档实际上是 UTF-8。

+0

This Works!非常感谢!它必须在某个地方出现错误......因为大部分文档都是UTF-8,现在显示的内容在采纳您的建议之后是合理的,并且是正确的。非常感谢! :) – pinkpython

+0

明白了!现在会做!我是Stack Overflow和Python的新手,还有编码......所以我必须得到15的声望,直到我的选票出现,或者如此说。 – pinkpython