全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4679 14
2008-03-14
<p>怎样编程批量读入外部数据文件,比如:均为txt文件,存放于E盘根目录下,每个文件格式相同且含有10个相同变量和100个观测,共有50个此类文件(文件名不连续:即不是类似从1-100的命名方式),怎样编程把这50个数据文件读入到一个数据集里?请高手指教,谢谢!</p>

[此贴子已经被作者于2008-3-14 14:04:12编辑过]

二维码

扫码加我 拉你入群

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

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

全部回复
2008-3-14 22:51:00
变量相同的话就用merge或者set来把他们连到一起。
merge dataset 1, 2,3,4,5,.....

....


二维码

扫码加我 拉你入群

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

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

2008-3-15 02:47:00

方法一:SAS 可以支持通配符 *, 适合懒人使用

filename abc "d:\abc\def\data*.csv";

data base;
infile abc;
input x;
run;
proc print;run;

方法二:可以使用macro。比较精确,coding复杂一些


%macro readmultidata(from,to);
 %do i = &from. %to &to.;
  data temp;
   infile "d:\abc\def\data&i..csv";
   input x;
 run;

 %if &i. = &from. %then %do; data base; set temp; run;%end;
 %else %do; data base;set base temp;%end;

 %end;

%mend;
%readmultidata(1,50)

二维码

扫码加我 拉你入群

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

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

2008-3-15 12:59:00

put the name in one txt file and data name in another text file and read in for name and run.

the code is simple and u can find it anywhere.

二维码

扫码加我 拉你入群

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

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

2008-3-15 13:47:00

多谢指教,特别是wolfcrying朋友接连两次给了详细的解答,不胜感激,之前是考虑可能要用宏来解决,只不过对宏不熟悉(其实宏感觉除了那两个符号之外,其它的也都和sas很多地方的编程没太大区别,不知是否正确),即使现在提供的宏编程,我还要仔细看看以理解。当然也要感谢shiningstar111和zhoukehu两位朋友的解答,再次感谢!

二维码

扫码加我 拉你入群

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

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

2008-3-16 13:53:00
wolfcrying,

这一句会把以前的数据集overwrite 掉? 不是吗?thank you!


 %else %do; data base;set base temp;%end;
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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