我有一个sas7bdat格式文件,但是它是压缩的。
我可以解压缩文件并处理它,但这会使我失去硬盘空间和时间。
所以我在SAS上尝试了这段代码:
filename myfile ZIP 'C:\...\data.zip' member="data.sas7bdat" ;
data yoyo;
infile myfile (data.sas7bdat);
input;
put _infile_;
run;
但我在工作图书馆里有一张空的悠悠球桌。
如何成功导入data.sas7bdat?
谢谢,
发布于 2019-07-17 15:38:43
您需要先解压缩数据集,然后SAS才能使用它。因此,您需要找到一个有足够空间进行完全展开的文件的位置。
请注意,您的代码试图两次在ZIP文件中指定文件的成员名。你应该只做一次。要么将fileref指向聚合位置,然后在引用中使用成员名。或者将fileref指向单个成员,只需使用fileref。
下面是一种将文件展开到当前工作文件夹的方法。
%let member=data.sas7bdat;
filename in zip 'C:\...\data.zip' member="&member" recfm=n;
filename out "%sysfunc(pathname(work))/&member" recfm=n;
data _null_;
rc=fcopy('in','out');
run;
现在可以使用名称WORK.DATA处理该文件。
proc print data=work.data(obs=1); run;
如果您想直接从ZIP文件中读取数据,那么它要么是原始(文本)数据,要么是流格式,比如SAS V5 XPORT文件。
https://stackoverflow.com/questions/57079033
复制相似问题