Python 3.x 牛仔竞技独角兽大赛主持人:';ascii';编解码器可以';t解码位置0处的字节0xef:序号不在范围内(128)

Python 3.x 牛仔竞技独角兽大赛主持人:';ascii';编解码器可以';t解码位置0处的字节0xef:序号不在范围内(128),python-3.x,csv,utf-8,Python 3.x,Csv,Utf 8,我刚刚开始使用Python3。我正在尝试使用Rodeo IDE打开csv文件 fp = open('Proteomics_Data.csv') # open file on read mode lines = fp.read().split("\n") # create a list containing all lines 我得到一个错误,我把它贴在下面 UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position

我刚刚开始使用Python3。我正在尝试使用Rodeo IDE打开csv文件

fp = open('Proteomics_Data.csv') # open file on read mode
lines = fp.read().split("\n") # create a list containing all lines
我得到一个错误,我把它贴在下面

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)
---------------------------------------------------------------------------
UnicodeDecodeError                        Traceback (most recent call last)
<ipython-input-347-aebf19dd596a> in <module>()
----> 1 lines = fp.read().split("\n")
/Users/alessandro/anaconda/lib/python3.6/encodings/ascii.py in decode(self, input, final)
     24 class IncrementalDecoder(codecs.IncrementalDecoder):
     25     def decode(self, input, final=False):
---> 26         return codecs.ascii_decode(input, self.errors)[0]
     27 
     28 class StreamWriter(Codec,codecs.StreamWriter):
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)
UnicodeDecodeError:“ascii”编解码器无法解码位置0:序号不在范围(128)中的字节0xef
---------------------------------------------------------------------------
UnicodeDecodeError回溯(最近一次呼叫最后一次)
在()
---->1行=fp.read().split(“\n”)
/解码中的用户/alessandro/anaconda/lib/python3.6/encodings/ascii.py(self、input、final)
24类增量编码器(编解码器.增量编码器):
25 def解码(自身、输入、最终=假):
--->26返回编解码器。ascii_解码(输入,自身错误)[0]
27
28类StreamWriter(编解码器、编解码器、StreamWriter):
UnicodeDecodeError:“ascii”编解码器无法解码位置0:序号不在范围(128)中的字节0xef

到目前为止,我发现终端没有设置为UTF-8,但显然Python 3不需要UTF-8。我不确定这是否是与IDE相关的问题?

尝试在
open
函数调用中指定编码

fp = open('Proteomics_Data.csv', encoding='utf-8')

当我将文件另存为
CSV
时,实际上有两个选项:

CSV UTF-8(逗号分隔)(.CSV)
逗号分隔值(.CSV)


如果使用第二个选项(逗号分隔值)保存,则无需添加
encoding='utf-8'

尝试在
open
中指定编码,因为有不同的编码,如utf-8 utf-16等。因此,请尝试指定其中任何一个,并查看是否正确works@AI14为未来的参考和读者发布了答案