SAS问题:文件中的数据导致观察到0

时间:2019-03-05 18:15:08

标签: sas

我在SAS 9.4上遇到问题。参见下面的代码;

data myData;
infile 'D:\folder1\folder2\myData.xlsx';
input var1 var2 var3;

这导致SAS成功执行此操作,识别出3个变量但包含0个观察值。代码的编写方式有问题吗?有没有人遇到这个问题?预先谢谢你。

2 个答案:

答案 0 :(得分:1)

如果您的数据为Excel格式,则应该可以进行PROC IMPORT读取。

PROC IMPORT DATAFILE="D:\folder1\folder2\myData.xlsx" DBMS=XLSX OUT=myData;
RUN;

答案 1 :(得分:1)

由于XLSX文件是二进制文件(特别是ZIP文件),因此您的数据步骤未找到任何要读取的文本行。您得到0个观察值的原因很可能是,搜索第二个或第三个以空格分隔的单词以进行读取时,该单词超出了文件的末尾。因此,数据步骤在INPUT语句处停止,并且从未到达第一次迭代的末尾以编写观察值。

您将需要通过XLSX引擎使用PROC IMPORT或LIBNAME语句来读取XLSX文件。或使用Excel将文件另存为带分隔符的文本文件,然后可以使用简单的数据步骤进行读取。