将zip中的所有文本文件输入SAS

将zip中的所有文本文件输入SAS,sas,Sas,我尝试将zip存档中的所有文本文件读入SAS。 到目前为止,我得到的是: filename zipfile zip '/sas_p/gridshared/ch/eg_data/b036081/01_Import/YB_ECPAB/2016wt10vs0_1.zip'; DATA work.YB_ECPAB; LENGTH F1 $ 1 KEART 8 KTYP_OR $ 1 KTYP_IAS $ 2 YB_BUKOR 8 KTR_TYP $ 1 KTR 8 RECHNART $ 1

我尝试将zip存档中的所有文本文件读入SAS。 到目前为止,我得到的是:

filename zipfile zip '/sas_p/gridshared/ch/eg_data/b036081/01_Import/YB_ECPAB/2016wt10vs0_1.zip';

DATA work.YB_ECPAB;
 LENGTH 
    F1 $ 1 KEART 8 KTYP_OR $ 1 KTYP_IAS $ 2 YB_BUKOR 8 KTR_TYP $ 1 KTR 8 RECHNART $ 1 ZIEL_VV $ 2 GEN_KZ $ 1 SCHLBASIS_KZ $ 2 BRCHE 8 BRCHU 8 BRCHE_IAS 8 PRODU 8 PROGR 8 PROKR 8 SPRTE 8 USPRT 8 GESELLSCHAFT 8 KONZERNSERVICE $ 1 KOROR 8 KSTBETR 8 KST 8 REQUESTID_BW $ 1 POLID $ 1 VORGANGSART $ 1 BEWERTUNGSSICHT $ 1 WERTTYP 8 VERSION 8 AENDERUNGSLAUFID $ 1 Satztyp $ 1 RequestID $ 30 JAHRPERIODE 8 PERIODE 8 JAHRVARIANTE $ 2 JAHR 8 WAEHRUNG $ 3 MENGE 8 BETR 8 Menge2 8;
 FORMAT 
    F1 $CHAR1. KEART BEST7. KTYP_OR $CHAR1. KTYP_IAS $CHAR2. YB_BUKOR BEST4. KTR_TYP $CHAR1. KTR BEST5. RECHNART $CHAR1. ZIEL_VV $CHAR2. GEN_KZ $CHAR1. SCHLBASIS_KZ $CHAR2. BRCHE BEST3. BRCHU BEST3. BRCHE_IAS BEST3. PRODU BEST3. PROGR BEST3. PROKR BEST3. SPRTE BEST3. USPRT BEST3. GESELLSCHAFT BEST6. KONZERNSERVICE $CHAR1. KOROR BEST4. KSTBETR BEST10. KST BEST10. REQUESTID_BW $CHAR1. POLID $CHAR1. VORGANGSART $CHAR1. BEWERTUNGSSICHT $CHAR1. WERTTYP BEST2. VERSION BEST2. AENDERUNGSLAUFID $CHAR1. Satztyp $CHAR1. RequestID $CHAR30. JAHRPERIODE BEST7. PERIODE BEST1. JAHRVARIANTE $CHAR2. JAHR BEST4. WAEHRUNG $CHAR3. MENGE BEST10. BETR COMMA32.2 Menge2 BEST10.;

INFILE zipfile(2016wt10vs0_1.txt)
    /*LRECL=188*/
     firstobs=4
     ENCODING="utf-16le"
     TERMSTR=CRLF
     DLM='09'x
     MISSOVER
     DSD;

 INPUT 
     F1 : $CHAR1. KEART : ?? BEST7. KTYP_OR : $CHAR1. KTYP_IAS : $CHAR2. YB_BUKOR : ?? BEST4. KTR_TYP : $CHAR1. KTR : ?? BEST5. RECHNART : $CHAR1. ZIEL_VV : $CHAR2. GEN_KZ : $CHAR1. SCHLBASIS_KZ : $CHAR2. BRCHE : ?? BEST3. BRCHU : ?? BEST3. BRCHE_IAS : ?? BEST3. PRODU : ?? BEST3. PROGR : ?? BEST3. PROKR : ?? BEST3. SPRTE : ?? BEST3. USPRT : ?? BEST3. GESELLSCHAFT : ?? BEST6. KONZERNSERVICE : $CHAR1. KOROR : ?? BEST4. KSTBETR : ?? BEST10. KST : ?? BEST10. REQUESTID_BW : $CHAR1. POLID : $CHAR1. VORGANGSART : $CHAR1. BEWERTUNGSSICHT : $CHAR1. WERTTYP : ?? BEST2. VERSION : ?? BEST2. AENDERUNGSLAUFID : $CHAR1. Satztyp : $CHAR1. RequestID : $CHAR30. JAHRPERIODE : ?? BEST7. PERIODE : ?? BEST1. JAHRVARIANTE : $CHAR2. JAHR : ?? BEST4. WAEHRUNG : $CHAR3. MENGE : BEST10. BETR : ?? COMMA32. Menge2 : BEST10.;
 DROP 
     F1 REQUESTID_BW POLID VORGANGSART BEWERTUNGSSICHT AENDERUNGSLAUFID Satztyp MENGE MENGE2;
RUN;

执行我的代码,但没有任何记录读入我的数据集(显示一个空数据集)

日志显示:

NOTE: The infile library ZIPFILE is:
      Directory=/sas_p/gridshared/ch/eg_data/b036081/01_Import/YB_ECPAB/2016wt10vs0_1.zip

NOTE: The infile ZIPFILE(2016wt10vs0_1.txt) is:
      Filename=/sas_p/gridshared/ch/eg_data/b036081/01_Import/YB_ECPAB/2016wt10vs0_1.zip,
      Member Name=2016wt10vs0_1.txt

NOTE: Truncation has occurred on the source line.
WARNING: A character that could not be transcoded has been replaced in record 0.
NOTE: A total of 0 records were read from the infile library ZIPFILE.
NOTE: 0 records were read from the infile ZIPFILE(2016wt10vs0_1.txt).
NOTE: The data set WORK.YB_ECPAB has 0 observations and 32 variables.
NOTE: DATA statement used (Total process time):
      real time           0.07 seconds
      cpu time            0.08 seconds
如果您能在以下方面提供帮助,我们将不胜感激:

  • 什么需要修理

  • 是否可以一次读取zip存档中的所有文件(类似于对未压缩文件使用通配符)

  • 什么需要修理
  • 解决方案是使用Notepad++将我的文本文件转换为
    utf-8
    ,并相应地调整我的SAS代码

    当我的代码读取
    ENCODING=“utf-16le”
    TERMSTR=CRLF
    时,当解压缩时,SAS可以很好地处理SAP中的
    ucs-2le
    编码文件

    但是,在压缩文件中,SAS无法识别lineseparator
    CRLF

    帮助我解决这个问题的链接:

  • 是否可以一次读取zip存档中的所有文件(类似于对未压缩文件使用通配符)

  • 尚未解决

    发布您正在使用的完整/编辑的代码,包括您的文件名。试图把这些拼凑起来以了解你目前的处境是不清楚的。已将我的问题更新为仅包含最新代码。包括文件名。