我搜索了互联网,无法准确找到需要的东西。在SAS程序结束时,我使用ods package
方法压缩了最终数据集(20GB)。我的数据集现在如想要的那样位于压缩文件夹中。现在,我想解压缩并阅读.sas7bdat
文件,但我不太清楚该方法。SAS解压缩单个sas7bdat文件
下面是一个创建永久性SAS数据集并将其拉伸的示例。我能看该ZIP文件中,并“看到”我所需要的数据集,但我不知道如何将它解压缩,并在阅读:
** assign your path **;
libname output "H:\SAS Example Code";
%let path = H:\SAS Example Code;
** test data **;
data output.class; set sashelp.class; run;
** zip the permanent SAS dataset **;
ods package(zip) open nopf;
ods package(zip)
add file="&path./class.sas7bdat";
ods package(zip)
publish archive
properties(
archive_name= "sashelp.class.zip"
archive_path="&path."
);
ods package(zip) close;
/* BELOW THIS LINE NEEDS WORK -- HOW DO I READ IN THIS DATASET? */
** assign filename and point to zip file **;
filename inzip zip "&path./sashelp.class.zip";
** view the .sas7bdat file within the zip file **;
data contents(keep=memname);
length memname $200;
fid=dopen("inzip");
if fid=0 then stop;
memcount=dnum(fid);
do i=1 to memcount;
memname=dread(fid,i);
output;
end;
rc=dclose(fid);
run;
没有意识到一种原生的方式来做到这一点 - 我认为你必须管理一个unzip命令到操作系统。你有这种能力吗? – Joe
而不是一个zip文件,是否添加压缩=是或使用CPT或XPT文件,而不是一个选项?然后有更简单的方法来访问文件。 – Reeza
@Joe由于服务器权限,我不能使用'X'命令,但我确实使用PuTTY进行脚本和批处理。我认为我最好的选择是使用SAS压缩并在需要时使用PuTTY解压缩。 – Foxer