楼主: damei07130102
1664 5

[求助] SAS 批量导入日期形式命名的txt [推广有奖]

  • 1关注
  • 0粉丝

小学生

64%

还不是VIP/贵宾

-

威望
0
论坛币
11 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
122 点
帖子
0
精华
0
在线时间
13 小时
注册时间
2013-12-25
最后登录
2015-5-6

楼主
damei07130102 发表于 2014-3-20 12:00:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
批量导入数据,文件命名形式如下,20140201.txt……20140228.txt……20140302txt。文件名为日期形式。
小女子第一次发帖,求批量导入程序,请会的高手帮我解答一下!
~另外想问一下pro import 和infile input导入数据有什么差别!
在此先行谢谢了!
二维码

扫码加我 拉你入群

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

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

关键词:批量导入 txt import infile Input SAS

沙发
SunnyIving 发表于 2014-3-20 12:09:20
写个macro
代码小王子!

藤椅
damei07130102 发表于 2014-3-20 12:54:47
SunnyIving 发表于 2014-3-20 12:09
写个macro
我知道,但是传参那里要考虑日期的形式,我就不会了!所以求高手程序示例!

板凳
SunnyIving 发表于 2014-3-20 13:39:29
%let date=20140320;
proc import datafile="C:\Users\mathartsys\Desktop\培训用数据\&date..xlsx"
                  out=temp
                          dbms=excel replace;
        getnames=yes;
run;

这里的日期都是文本形式的,所以格式不是问题
代码小王子!

报纸
damei07130102 发表于 2014-3-20 14:00:40
SunnyIving 发表于 2014-3-20 13:39
%let date=20140320;
proc import datafile="C:\Users\mathartsys\Desktop\培训用数据\&date..xlsx"
            ...
我是想批量导入,写个宏循环!我遇到的问题是参数是日期形式的,如果是20140228之后为02140301!这里我就不会了!

地板
SunnyIving 发表于 2014-3-20 16:43:35
其实我也是SAS的新手,看到这个问题挺有兴趣,自己研究了一下,请教下别人算是开发出了这个代码。以后自己遇到这样的问题的时候也可能 省些力。
  1. %macro import(in_date1=,in_date2=);

  2. data _NULL_;
  3.         a=input(&in_date1,yymmdd8.);
  4.         b=input(&in_date2,yymmdd8.);
  5.         call symput('date1',a);
  6.         call symput('date2',b);
  7. run;

  8. %do i=&date1 %to &date2;

  9.         data _NULL_;
  10.         a=&i.;
  11.         format a yymmddn8.;
  12.         b=put(a,yymmddn8.);
  13.         call symputx ('date',b);
  14.         run;

  15.         proc import datafile="C:\Users\mathartsys\Desktop\SAS日常学习\日期问题积累\数据\&date..xlsx"
  16.                          out=temp&i
  17.                                   dbms=excel replace;
  18.                 getnames=yes;
  19.         run;
  20. %end;

  21. %mend import;
  22. %import(in_date1='20140320',in_date2='20140401');
复制代码


代码小王子!

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-31 11:48