楼主: icylixNray
2304 1

【菜鸟求解】Excel 批量读入SAS 生成 一个数据集? [推广有奖]

  • 0关注
  • 0粉丝

学前班

60%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
80 点
帖子
1
精华
0
在线时间
2 小时
注册时间
2011-10-18
最后登录
2012-7-9

楼主
icylixNray 发表于 2011-10-18 22:07:10 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
现状: 一个文件夹中有多个Excel文件,需要导入的只有每个excle的一张sheet ,有一份excle中有登记每份excle的文件名及批次。
需求: 希望能够批量读入多个excel 文件生成一个数据集,且根据登记表作标记(如数据来自excle1,则在数据集中有个flag为1表示数据来自excle1)。最好就是能实现我只需要登记表格,然后按单击运行SAS就可以生成一个table。
          求解~~

我之前在论坛上发现以下代码:
这个代码可以实现批量读入,但是那个表格名称需要自己一个个键入,比较繁琐。还有就是生成的是多个数据集的?

%macro ss/parmbuff;
%let i=1;
%let dsn=%scan(&syspbuff,&i);
%put &dsn;
%do %while(&dsn ne);
PROC IMPORT OUT=WORK.a&i
            DATAFILE= "D:\&dsn..xls"
            DBMS=EXCEL REPLACE;
     SHEET="sheet1";
     GETNAMES=yes;
     MIXED=NO;
     SCANTEXT=YES;
     USEDATE=YES;
     SCANTIME=YES;
RUN;

%let i=%eval(&i+1);
%let dsn=%scan(&syspbuff,&i);
%end;
%mend ss;
options nomlogic nomprint nosymbolgen;
%ss(数据1,数据2,数据3,数据4);
二维码

扫码加我 拉你入群

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

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

关键词:EXCEL exce xcel cel 数据集 excel 文件夹 登记表 Excel 最好

沙发
Isabella1029 在职认证  发表于 2012-5-3 22:43:21
同问

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

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