全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2068 1
2013-12-29
假设d:\vfpdbf\dbase 下面有上百份DBF格式的文件,当然,如果是XLS活CSV格式,做适当调整就可以了。
一下是我之前一直使用的:
x "DIR d:\vfpdbf\dbase *.DBF /b >E:\list";
%macro daoru(name) ;                                 
PROC IMPORT OUT= WORK.&name                        
            DATAFILE= "d:\vfpdbf\dbase\&name..DBF"              
            DBMS=DBF REPLACE;
     GETDELETED=NO;
RUN;
%mend;
data _null_;
        infile "E:\list";
        input str:$100.;
        call execute(compress('%daoru('||scan(str,1,'.')||');'));
run;      

以下是赛诺菲Sanofi-Aventis 的李友老师提供的程序,可以读取文件下中所有子文件夹中的数据:
%macro mReadfolder;
%let filrf=mydir;
%let rc=%sysfunc(filename(filrf,"D:\Management\ACTIME"));  
%let did=%sysfunc(dopen(&filrf));  
%let lstname=;  
%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= "D:\Management\ACTIME\&lstname"
  dbms=excel2000 replace;
  run;
%end;
%let rc=%sysfunc(dclose(&did));
%mend mReadfolder;
%mReadfolder;


二维码

扫码加我 拉你入群

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

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

全部回复
2013-12-29 15:25:03
大婶大婶大婶
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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