我搜索了互聯網,無法準確找到需要的東西。在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