楼主: shenliang_111
2861 2

把文件夹下的所有excel导入的问题 [推广有奖]

  • 3关注
  • 12粉丝

教授

15%

还不是VIP/贵宾

-

威望
0
论坛币
14 个
通用积分
0.4174
学术水平
20 点
热心指数
26 点
信用等级
12 点
经验
17989 点
帖子
478
精华
0
在线时间
1627 小时
注册时间
2011-2-24
最后登录
2025-8-3

楼主
shenliang_111 发表于 2011-7-20 20:49:22 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
最近在研究excel和sas之间的批量导入问题,我发现,把sas特定逻辑库下的所有sas数据集导出为excel文件是方便的(见程序1),但是对于本地磁盘某个特定文件夹下的所有excel文件导入sas数据集是困难的,想问问各位好朋友们,有什么好的方法吗?谢谢了!
程序一.
/*特定逻辑库下的所有数据集转化为excel文件*/
%macro sss/parmbuff;
%let i=1;
%let lib=%scan(&syspbuff,&i);
%let i=2;
%let dsn=%scan(&syspbuff,&i);
%put &dsn;
%do %while(&dsn ne);
PROC EXPORT DATA=&lib..&dsn
            OUTFILE= "E:\&dsn..xls"
            DBMS=EXCEL REPLACE;
     SHEET="Sheet";
RUN;
%let i=%eval(&i+1);
%let dsn=%scan(&syspbuff,&i);
%end;
%mend sss;
%macro tt(lib);
proc sql noprint;
select memname into :namelist separated by ' '
from dictionary.tables
where libname=upcase("&lib") and  memtype='DATA';
%put &namelist;
quit;
%sss(&lib &namelist)
%mend;
%tt(work)
二维码

扫码加我 拉你入群

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

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

关键词:EXCEL xcel exce cel 文件夹 EXCEL 文件

沙发
yugao1986 发表于 2011-7-20 21:01:50
借花献佛,
之前的一个帖子:https://bbs.pinggu.org/thread-1111573-1-1.html
sasor上的一个帖子,讲的是txt,道理一样:http://sasor.feoh.net/viewtopic. ... %BC%E5%85%A5#p25061
三人行必有我师

藤椅
bobguy 发表于 2011-7-24 11:41:44
shenliang_111 发表于 2011-7-20 20:49
最近在研究excel和sas之间的批量导入问题,我发现,把sas特定逻辑库下的所有sas数据集导出为excel文件是方便的(见程序1),但是对于本地磁盘某个特定文件夹下的所有excel文件导入sas数据集是困难的,想问问各位好朋友们,有什么好的方法吗?谢谢了!
程序一.
/*特定逻辑库下的所有数据集转化为excel文件*/
%macro sss/parmbuff;
%let i=1;
%let lib=%scan(&syspbuff,&i);
%let i=2;
%let dsn=%scan(&syspbuff,&i);
%put &dsn;
%do %while(&dsn ne);
PROC EXPORT DATA=&lib..&dsn
            OUTFILE= "E:\&dsn..xls"
            DBMS=EXCEL REPLACE;
     SHEET="Sheet";
RUN;
%let i=%eval(&i+1);
%let dsn=%scan(&syspbuff,&i);
%end;
%mend sss;
%macro tt(lib);
proc sql noprint;
select memname into :namelist separated by ' '
from dictionary.tables
where libname=upcase("&lib") and  memtype='DATA';
%put &namelist;
quit;
%sss(&lib &namelist)
%mend;
%tt(work)
You can use libname to access the excel file. Here is an example. Make an excel file with country population in tab1 and save is as test1.xls in c:\temp and close it.

libname x excel 'c:\temp\test1.xls';
proc print data=x."sheet1$"n;
run;

Obs country Population
1 China 1300000000
2 Japan 300000000

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 03:19