全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4241 2
2016-01-11
有一段导入文件夹下所有文档程序如下:
%macro mReadfolder;

%let filrf=mydir;
%let rc=%sysfunc(filename(filrf,"F:\Mechanicalfailuresummary\csvFiles"));  
%let did=%sysfunc(dopen(&filrf));  
%let lstname=b;  
%let memcount=%sysfunc(dnum(&did));  

%if &memcount > 0 %then  
        %do i=1 %to &memcount;  
        %let lstname=%sysfunc(dread(&did,&i));

                proc import out=a
                datafile= "F:\Mechanicalfailuresummary\csvFiles\&lstname"
                dbms=csv replace;
                run;

        %end;

%let rc=%sysfunc(dclose(&did));

%mend mReadfolder;
%mReadfolder;

运行结果只能导入文件夹下一个文件的内容,而不是所有的。日志报错如下:
informat VAR1 anydtdtm40. ;
51                informat w002_CI_GbLubOilFilterInletPre best32. ;
52                format VAR1 datetime. ;
53                format w002_CI_GbLubOilFilterInletPre best12. ;
54             input
55                         VAR1
56                         w002_CI_GbLubOilFilterInletPre
57             ;
58             if _ERROR_ then call symputx('_EFIERR_',1);  /* set ERROR detection macro variable */
59             run;

NOTE: INFILE 'F:\Mechanicalfailuresummary\csvFiles\w002_CI_GbLubOilFilterInletPre.csv' 是:
      文件名=F:\Mechanicalfailuresummary\csvFiles\w002_CI_GbLubOilFilterInletPre.csv,
      RECFM=V,LRECL=32767,文件大小(字节)=8558710,
      上次修改时间=2016年01月04日 15时24分11秒,
      创建时间=2016年01月08日 21时37分13秒

NOTE: 在第 259355 行、第 3-25 列中有对“w002_CI_GbLubOilFilterInletPre”无效的数据。
RULE:     ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0                     
259355     ,此次查询总耗时 515 毫秒 25
VAR1=. w002_CI_GbLubOilFilterInletPre=. _ERROR_=1 _N_=259354
NOTE: 从 INFILE 'F:\Mechanicalfailuresummary\csvFiles\w002_CI_GbLubOilFilterInletPre.csv' 中读取了 259354 条记录。
      最小记录长度是 25。
      最大记录长度是 31。
NOTE: 数据集 WORK.A 有 259354 个观测和 2 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.34 秒
      CPU 时间          0.34 秒


Errors detected in submitted DATA step. Examine log.
259354 rows created in WORK.A from F:\Mechanicalfailuresummary\csvFiles\w002_CI_GbLubOilFilterInletPre.csv.



ERROR: 导入失败。详细信息,请参阅“SAS 日志”。
NOTE: 由于出错,SAS 系统停止处理该步。
NOTE: “PROCEDURE IMPORT”所用时间(总处理时间):
      实际时间          0.39 秒
      CPU 时间          0.39 秒

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-1-12 09:21:18
proc import out=a
                datafile= "F:\Mechanicalfailuresummary\csvFiles\&lstname"
                dbms=csv replace;
run;

这个只把最后一个表导入了,之前的都被replace掉了吧?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-1-12 10:15:36
提示错误的那个表源数据格式有问题吧
NOTE: 在第 259355 行、第 3-25 列中有对“w002_CI_GbLubOilFilterInletPre”无效的数据。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群