楼主: 阿娜塔哇
590 2

[程序分享] SAS导入文件夹所有excel数据的问题 [推广有奖]

  • 0关注
  • 1粉丝

已卖:57份资源

讲师

63%

还不是VIP/贵宾

-

威望
0
论坛币
19268 个
通用积分
5.8285
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2523 点
帖子
113
精华
0
在线时间
956 小时
注册时间
2015-9-20
最后登录
2025-5-16

楼主
阿娜塔哇 学生认证  发表于 2025-5-7 08:55:46 |AI写论文
200论坛币
我需要将一个文件夹中的excel全部导入到sas中,目前写了一个代码,把所有的路径都读取到sas数据中了,怎么根据sas数据中的路径实现数据的导入?
这个是读取文件路径的代码,保存到了filename中,是这样的,现在就是怎么利用这个数据,把这些数据导入到sas中?

%let path=C:\重要资料\2025\word;

filename temp pipe "dir ""&path.\*.xlsx"" /b";

data file_combine1;
  infile temp truncover;
  input path $100.;
run;

%let slash=%sysfunc(ifc(%index(&sysscp.,WIN),\,/));

data filename;
  length filenum 8 filepath $100.;
  dirref=filename('_dummy1_',"&path.");
  dirrc=dopen('_dummy1_');
  if dirrc then do;
    do filenum=1 to dnum(dirrc);
      filepath="&path.&slash."||dread(dirrc,filenum);
      if upcase(scan(filepath,-1,'.'))^="XLSX" then continue;

      *Ensure file can be accessed;
      filref=filename('_dummy2_',trim(filepath));
      filrc=fopen('_dummy2_');
      if filrc then do;
        filrc=fclose(filrc);
        output;
      end;

    end;
    dirrc=dclose(dirrc);
  end;
  keep filenum filepath;
run;


关键词:excel数据 EXCEL 导入文件 xcel exce
相关提问:Excel数据 SAS导入

沙发
jg.sas 发表于 2025-5-22 17:59:25
将filename做成一系列宏变量,宏程序里进行循环,%do ii=1 %to &max;

藤椅
hkhl237 发表于 2025-6-12 13:35:10
fp是filepath,dn是output出的sas数据集名称。

板凳
hkhl237 发表于 2025-6-12 13:37:21
%let dirpath=d:\new;
filename temp pipe "dir ""&dirpath.\*.xlsx"" /b";
data a;
        infile temp truncover;
        input path $200.;
        fp="&dirpath.\"||strip(path);
        dn="i"||strip(_n_);
run;
data a;
        set a;
        call execute("proc import datafile='"||strip(fp)||"' out="||strip(dn)||" dbms=xlsx replace;getnames=NO;run;");
run;

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 21:10