我正在使用Pandas 0.18打开sas7bdat
数据集
我只是使用:
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
Pandas可以很好地处理我文件夹中的其他
sas7bdat
文件。当我在SAS中打开文件时,我看到列名非常长并且跨越几行,但是否则文件看起来就很好。
read_sas
中没有太多可能的选项...怎么办?一世非常感谢!
最佳答案
您可能必须将编码设置为UTF-8。如下所示(根据docs):
df=pd.read_sas(P:/myfile.sas7bdat, encoding='utf-8')
关于python - Pandas read_sas错误:'ascii'编解码器无法解码位置0的字节0xd8:序数不在范围内(128),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36436684/