Let’s say that we have some CSV files stored in a ZIP folder. We want SAS to extract these files and use them as data sets.
As an example, we created a ZIP file with three files :
csv_inputs.zip |__ class.csv |__ cars.csv |__ prdsale.csv
Read zip files in SAS using Proc Infile
filename inzip ZIP '/home/9to5sas/inputs/csv_inputs.zip'; data newdata; infile inzip(class.csv) firstobs=2 dlm=","; input Name $ Sex $ Age Height Weight; run;
Read zip files in SAS using Proc Import
You can even read xlsx file using this method.
xlsx_inputs.zip |__ class.xlsx |__ cars.xlsx |__ prdsale.xlsx
filename inzip ZIP '/home/9to5sas/inputs/xlsx_inputs.zip'; /* copy the file to working directory and then load it */ filename readExcel "%sysfunc(getoption(work))/class.xlsx" ; data _null_; infile inzip(class.xlsx) lrecl=256 recfm=F length=length eof=eof unbuf; file readExcel lrecl=256 recfm=N; input; put _infile_ $varying256. length; return; eof: stop; run; proc import datafile=readExcel out=label dbms=xlsx replace; getnames=yes; run;
We hoped this article helped you to read zip files in SAS. Moreover, if you have any other suggestions, suggest them in the comment section. We would really take those lists in our further blog post.
Thanks for reading!
You may also want to read How to zip and Unzip files in SAS?