楼主: pestation
1352 3

[原创博文] 求助:关于FREAD [推广有奖]

  • 0关注
  • 0粉丝

已卖:43份资源

高中生

87%

还不是VIP/贵宾

-

威望
0
论坛币
354 个
通用积分
2.8955
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1055 点
帖子
36
精华
0
在线时间
32 小时
注册时间
2006-2-17
最后登录
2025-5-19

楼主
pestation 发表于 2010-10-8 23:06:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
该函数可以将一个物理文件中的数据读取到一个宏变量中,例如:
假定数据文件的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到数据集中,故求助是否有方法能够将两列数据内容成功放到数据集中,谢谢
二维码

扫码加我 拉你入群

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

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

关键词:FREAD READ EAD Fre filename 根目录 程序

沙发
hopewell 发表于 2010-10-8 23:55:47
费了这么大的劲就为了把txt读为data set ?

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

板凳
hopewell 发表于 2010-10-9 08:49:29
  1. %macro test;
  2.     %let filrf = myfile;
  3.     %let rc = %sysfunc(filename(filrf, %str(d:\test.txt)));
  4.     %let fid = %sysfunc(fopen(&filrf));
  5.     %let rc = %sysfunc(fsep(&fid, %str( )));
  6.     data temp;
  7.     %if &fid > 0 %then
  8.         %do %while(%sysfunc(fread(&fid)) = 0);
  9.             %let rc = %sysfunc(fget(&fid, x));
  10.             %let rc = %sysfunc(fget(&fid, y));
  11.             %put NOTE:*** %nrstr(&x=)&x %nrstr(&y=)&y ***;
  12.             x = &x;
  13.             y = &y;
  14.             output;
  15.         %end;
  16.     run;
  17.     %let rc = %sysfunc(fclose(&fid));
  18.     %let rc = %sysfunc(filename(filrf));
  19. %mend;
  20. %test
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
pobel + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

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

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