将zip文件导入SAS

时间:2014-12-12 22:43:46

标签: import zip sas

我无法将zip文件导入sas,如果你能解决这个问题我真的很感激。以下是我的代码:

filename file1 saszipam '[my path]\EDataset-2000_06_20_193034-2000_06_26_211020.zip';
data dset;
infile file1(EDataset-2000_06_20_193034-2000_06_26_211020.txt) 
delimiter='09'x MISSOVER DSD lrecl=32767 firstobs=1 ; 
   informat EI $3.;
   informat ID $5.;
   informat Region $1.;
   informat C_Number $23.;
   informat P_ID $13.;
   format EI $3.;
   format ID $5.;
   format Region $1.;
   format C_Number $23.;
   format P_ID $13.;
   input
          EI $ 1-3
          ID $ 4-8
          Region $ 9
          C_Number $ 10-32
          P_ID $ 33-45
              ;
if _ERROR_ then call symputx('_EFIERR_',1);  /* set ERROR detection macro variable */
run;  

我得到的错误是:“ 错误:数据长度无效。 致命错误:在执行DATA步骤程序时检测到不可恢复的I / O错误。        在执行阶段中止。“

1 个答案:

答案 0 :(得分:0)

如果是SAS 9.4:

filename file1 zip '[my path]\EDataset-2000_06_20_193034-2000_06_26_211020.zip' 
        member='EDataset-2000_06_20_193034-2000_06_26_211020.txt";
data dset;
infile file1
    delimiter='09'x MISSOVER DSD lrecl=32767 firstobs=1 ; 
   informat EI $3.;
   informat ID $5.;
   informat Region $1.;
   informat C_Number $23.;
   informat P_ID $13.;
   format EI $3.;
   format ID $5.;
   format Region $1.;
   format C_Number $23.;
   format P_ID $13.;
   input
          EI $ 1-3
          ID $ 4-8
          Region $ 9
          C_Number $ 10-32
          P_ID $ 33-45
              ;
if _ERROR_ then call symputx('_EFIERR_',1);  /* set ERROR detection macro variable */
run;