我正在尝试阅读包含产品数据的文档并打印出某些产品的数据。问题是,我似乎无法在没有错误的情况下读取它。我只是试图打印前100个字符只是为了让它读入,这样我就可以找出具体需要打印的内容以及如何将其拉出文件。但是我被困在阅读中。文件是UTF-8,或者应该是......我错过了什么?
这是我的代码:
products = open('products.csv')
productsread = products.read()
print(productsread[:100])
这是我得到的追溯:
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 :(得分:3)
如果您阅读该文档并且它使用UTF-8编解码器引发错误,则它不是UTF-8,或者至少有错误。 open('products.csv',encoding='utf8',errors='replace')
将使用Unicode代码点U+FFFD REPLACEMENT CHARACTER
替换所有错误,但请确保您的大部分文档 UTF-8。