SAS中文论坛

标题: 请教一个外部文件的操作 [打印本页]

作者: shiyiming    时间: 2011-9-24 10:34
标题: 请教一个外部文件的操作
[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*****/标记处,想了很久了,在标记处哪个地方换了许多办法都不成功...特此发帖求教高人....
作者: shiyiming    时间: 2011-9-25 13:12
标题: Re: 请教一个外部文件的操作
一个解法:[url:2adnjlep]http://www.mysas.net/sns/index.php?app=blog&mod=Index&act=show&id=1839&mid=3019[/url:2adnjlep]




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2