全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1335 3
2010-10-08
该函数可以将一个物理文件中的数据读取到一个宏变量中,例如:
假定数据文件的TXT文本在D盘根目录下,文件内容为:

1990  1234
1991  2345
1993  3435

程序:
%macro test;
%let filrf=myfile;
%let rc=%sysfunc(filename(filrf, %str(d:\test.txt)));
%let fid=%sysfunc(fopen(&filrf));
%if &fid > 0 %then
   %do %while(%sysfunc(fread(&fid)) = 0);
      %let rc=%sysfunc(fget(&fid,c,200));           
%put &c;
      %end;
   %let rc=%sysfunc(fclose(&fid));
%let rc=%sysfunc(filename(filrf));
%mend;
%test;
在日志中,可以成功PUT出&C中的内容,并且识别到数据
但是我试过很多方法都无法将&C中的内容OUTPUT到数据集中,故求助是否有方法能够将两列数据内容成功放到数据集中,谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2010-10-8 23:55:47
费了这么大的劲就为了把txt读为data set ?
二维码

扫码加我 拉你入群

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

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

2010-10-9 00:08:01
不单单是为了TXT读成DATA SET
如果是为了读取用个INFILE就OK
是为了明白其中的一些运作机制和处理方法,拓宽编程的思路
在实际应用当中,这个方法很笨,但是SAS既然有FREAD这个函数,就一定有其存在的道理,如果只是为了能把数据从源中读取出来并且显示在日志中,那这个函数也没有存在的必要了
希望有大侠不吝赐教
二维码

扫码加我 拉你入群

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

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

2010-10-9 08:49:29
复制代码
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群