2017-08-03 86 views
2

我剛開始使用Python3。我試圖用Rodeo IDE打開一個csv文件Rodeo UnicodeDecodeError:'ascii'編解碼器無法解碼位置0中的字節0xef:序號不在範圍內(128)

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) 

我到目前爲止發現的終端沒有被設置爲UTF-8,但顯然Python 3不需要UTF-8。我不確定這可能是與IDE有關的問題嗎?

+1

嘗試在'open'中指定編碼 –

+1

有像utf-8 utf-16等不同的編碼,所以請嘗試指定它們中的任何一個,看它是否有效 –

+0

它w謝謝 – Al14

回答

2

嘗試在open函數調用中指定編碼。

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

當我將文件保存爲CSV我居然得到兩個選項:

CSV UTF-8 (Comma delimited)(.csv)Comma Separated Values(.csv)

如果我保存了第二個選項(逗號分隔值)我並不需要添加encoding='utf-8'

相關問題