|
楼主

楼主 |
发表于 2011-9-24 10:34:06
|
只看该作者
请教一个外部文件的操作
[code:3iefzshp] %let path=F:\学习文件夹\数据资料\数据文件夹\数学\初、高等数学;
data flname(keep=mem:);
rc=filename("mydir","&path");
did=dopen("mydir");
memcount1=dnum(did);
do i=1 to memcount1;
memname1=dread(did,i);
call symputx("path1",symget('path')||'\'||strip(memname1)); /****look*****/
rc=filename("dir","&path1"); /****look*****/
id=dopen("dir");
memcount2=dnum(id);
do j=1 to memcount2;
memname2=dread(id,j);
output;
end;
rc=dclose(id);
end;
rc=dclose(did);
run;[/code:3iefzshp]
path路径下包括[color=#FF4000:3iefzshp]初等数学[/color:3iefzshp]和[color=#FF0000:3iefzshp]高等数学[/color:3iefzshp]两个文件夹;而在[color=#FF0000:3iefzshp]初等数学[/color:3iefzshp]文件夹下包括有一个[color=#0000FF:3iefzshp]A.txt[/color:3iefzshp]的文本文件,在[color=#FF0000:3iefzshp]高等数学[/color:3iefzshp]文件夹下包括有[color=#0000FF:3iefzshp]B.txt[/color:3iefzshp]和[color=#0000FF:3iefzshp]C.txt[/color:3iefzshp]两个文本文件。
上边是编写的一段代码,最后flname的显示结果如下:
memcount1------memname1-------memcount2-------memname2
-------2------------初等数学---------------2------------------B.txt----
-------2------------初等数学---------------2------------------C.txt----
-------2------------高等数学---------------2------------------B.txt----
-------2------------高等数学---------------2------------------C.txt---
真正想要的到的结果如下:-
memcount1------memname1-------memcount2-------memname2
-------2------------初等数学---------------1------------------A.txt----
-------2------------高等数学---------------2------------------B.txt----
-------2------------高等数学---------------2------------------C.txt---
问题好像出在/****look*****/标记处,想了很久了,在标记处哪个地方换了许多办法都不成功...特此发帖求教高人.... |
|