2016-04-05 40 views
1

我使用熊貓0.18打開sas7bdat數據集熊貓read_sas錯誤:「ASCII」編解碼器不能在位置0解碼字節0xd8:在範圍序數不(128)

我簡單地使用:

df=pd.read_sas(P:/myfile.sas7bdat) 

,我得到以下錯誤

buf[0:text_block_size].rstrip(b"\x00 ").decode()) 

UnicodeDecodeError: 'ascii' codec can't decode byte 0xd8 in position 0: ordinal not in range(128) 

如果我使用

import sys 
reload(sys) 
sys.setdefaultencoding("utf-8") 

我得到

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

其他sas7bdat文件我的文件夾中的大熊貓處理就好了。

當我在SAS中打開文件時,發現列名非常長,並且跨越多行,但否則這些文件看起來很好。

read_sas沒有太多可能的選擇...該怎麼辦?我 非常感謝!

回答

2

您可能必須將編碼設置爲UTF-8。像這樣的東西(根據docs):

df=pd.read_sas(P:/myfile.sas7bdat, encoding='utf-8') 
+0

我收到了同樣的錯誤不幸 –

+1

@Noobie可以爲您發佈的數據集的樣本? –

+0

不是很不幸,但不幸的是......但SAS中的第一行看起來很好。錯誤是什麼意思?數據中有一個奇怪的字符? –

相關問題