Spyder、变量浏览器、xp

2024-04-19 20:51:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我是从SAS背景来学习Python的。你知道吗

我已使用以下方法将SAS版本5传输文件(XPT)导入python:

df = pd.read_sas(r'C:\mypath\myxpt.xpt')

该文件是一个简单的SAS传输文件,由使用以下内容创建的SAS数据集转换而成:

DATA myxpt;
  DO i = 1 TO 10;
    y = "XXX";
    OUTPUT;
  END;
RUN;

文件导入正确,我可以使用以下方法查看内容:

print(df)

screenshot showing print of dataframe

但是,当我使用变量资源管理器查看文件时,所有字符列都显示为空。你知道吗

Screenshot showing data frame viewed through Variable explorer

我试着将其作为sas数据集而不是传输文件来读取,并将其导入Python中,但遇到了相同的问题。你知道吗

我还尝试在python中创建一个包含字符列的数据框,它在variable explorer中正确显示。你知道吗

有什么问题吗?你知道吗

提前谢谢。你知道吗


Tags: 文件数据方法版本df字符pd背景
1条回答
网友
1楼 · 发布于 2024-04-19 20:51:01

列Y是一列二进制字符串。你得先解码。变量资源管理器无法猜测正确的编码,而且显然没有显示二进制字符串。如果你不知道编码你将不得不猜测。试试df['utf8']=df.Y.str.decode('utf8'),看看这些信息是否有意义。你知道吗

如您所述,可以在导入函数中指定编码:

df = pd.read_sas(r'C:\mypath\myxpt.xpt', encoding='utf8')

作为一个旁注,您应该始终注意并最好明确使用的编码,以避免重大头痛。你知道吗

有关所有可用编码和其他别名的列表,请选中here。你知道吗

相关问题 更多 >