楼主: goldbaodi
2270 5

怎样用宏读入.TXT文件产生一个SAS dataset [推广有奖]

  • 10关注
  • 6粉丝

已卖:802份资源

副教授

89%

还不是VIP/贵宾

-

威望
0
论坛币
3518 个
通用积分
5.4223
学术水平
6 点
热心指数
15 点
信用等级
2 点
经验
56203 点
帖子
862
精华
0
在线时间
1220 小时
注册时间
2010-12-4
最后登录
2024-1-13

楼主
goldbaodi 发表于 2012-6-21 09:19:46 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
- .TXT文件m列(tab分隔),n+1行,第一行全为CHAR(将作为目标dataset中的变量名),之后的n行将作为目标dataset中的记录.
- m和n的值是变化的(以适应不同的TXT文件).
THANK YOU ALL!
二维码

扫码加我 拉你入群

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

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

关键词:dataset DataS Data TAS Set 如何

沙发
goldbaodi 发表于 2012-6-21 09:41:03
补充: TXT文件中第一行各值为字符(无规律),但符合SAS变量名规则.
如:
A_B    XY    CQ     MN_T
7        acb    12     cdf
9        xyc    23     xys
66       tttt    12     uuu
.....
....
....

藤椅
goldbaodi 发表于 2012-6-23 10:04:42
期待能人.....

板凳
小春1988 发表于 2012-6-23 15:34:24
  1. 这样批量处理是可以,不过会有一定的缺点,就是导入的时候,变量的格式不好判断,我将所以变量都当字符变量写了一个例子,你自己看看可以把变量格式弄一下不
复制代码
options noxwait noxsync mlogic mprint;

x"dir dir D:\path\*.txt /b >d:\path.txt";

%macro a();
  data temp1;
    length x $50
           fname $50;
    infile"d:\path.txt";
    input x $;
    fname="D:\path\"||trim(left(x));
  run;

  data _null_;
    set temp1 end=last;
    call symputx("fname"||trim(left(_n_)),fname);
    if last then do;
      call symputx("nobs1",_n_);
    end;
  run;

  %do i=1 %to &nobs1.;

    data temp;
      length %do j1=1 %to 1000; x&j1 $20 %end;;
      infile"&&fname&i" dlm='09'x obs=1 missover ;
      input  %do j2=1 %to 1000; x&j2 $ %end;;
    run;


    data _null_;
      set temp;
      %do j3=1 %to 10;
        call symputx("var_name_"||"&j3",x&j3);
      %end;
    run;
       
    data data_&i.;
       %do j4=1 %to 1000; %if &&var_name_&j4.^=  %then %do; length &&var_name_&j4.  $20 ; %end;%end;;
      infile"&&fname&i" dlm='09'x  missover firstobs=2;
      input %do j5=1 %to 1000; %if &&var_name_&j5.^=  %then %do ;  &&var_name_&j5.  $  %end;%end;;
    run;

   %end;

  %mend;
  %a();

报纸
小春1988 发表于 2012-6-23 15:36:37
还有,创建的data set我都放在了work库里面,data名称也是随意的

地板
goldbaodi 发表于 2012-6-24 00:46:04
! 谢谢啦! 复制回去好好学习研究.

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

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