我想迭代特定文件夹中的文件,并提取其文件名的子字符串。 是否有捷径可寻?

lib dir '.../folder';
#iterate through all files of dir and extract first five letters of file name;
#open files and do some processesing, aka data steps proc steps;

===============>>#1 票数:3 已采纳

首先,我要指出“dir”似乎是拼写错误的libref,而不是文件夹。 如果要查找文件夹中的文件,可以使用:

   %macro get_filenames(location);
    filename _dir_ "%bquote(&location.)";
    data filenames(keep=fname);
      handle=dopen( '_dir_' );
      if handle > 0 then do;
        count=dnum(handle);
        do i=1 to count;
          fname=subpad(dread(handle,i),1,5);/* extract first five letters */
          output filenames;
        end;
      end;
      rc=dclose(handle);
    run;
    filename _dir_ clear;
    %mend;

%get_filenames("c:\temp\");

如果要在中查找数据集 ,可以使用:

proc sql;
create table datasets as
  select substr(memname,1,5) as dataset
  from dictionary.tables
  where libname='LIB'; /* must be uppercase */

任何一种方法都会产生一个“文件”数据集,随后可以“逐步”通过。

  ask by lord12 translate from so

未解决问题?本站智能推荐:

1回复

如何在SAS中通过两组进行迭代迭代?

我尝试过这样的事情: dane和dane2具有相同的行数 结果很有意思 - 在设置dane2之后,条件x>3仍然保持,但SAS总是先进行观察 - 也就是说,它不会通过隐藏循环计数器的当前状态。 问题是 - 在迭代通过用户可以访问的数据集时,SAS是否具有/使用带计数器的隐藏
1回复

如何在另一个宏中迭代执行sas宏?

我想获得brand_channel宏的结果。 宏在%do-loop语句中对i = 2,3,4无效。 如何迭代执行do_scoring宏? 谢谢!
1回复

SAS如何在宏中对日期进行迭代?

我有一个这样的宏: 然后,我想编写一个创建表的代码:该表是表的联合,其中变量report_day的条件为true。 但是我的代码不起作用: 我有31条错误消息:“错误:在贡献表中未找到以下列:j” 或者如何创建一个宏,该宏在范围内的某些天使用一天的工作宏(“循环”)?
1回复

SAS中的文件内语句

infile语句中是否可以跳过前n行? 我在import语句中知道,但是infile语句中有简单的方法吗?
2回复

在SAS中复制文件

我一直在尝试使此代码正常工作...但是到目前为止没有运气: 我在命令提示符下收到错误消息“系统找不到指定的路径”。 我认为这是由于空格和文件夹名称中的“&”引起的,但我似乎无法修复它。 基本上是尝试将文件从一个文件夹复制到另一个文件夹。 文件位于网络驱动器“ I”上。 您
1回复

如何在SAS中动态导入Excel文件?

我是SAS新用户,对将excel文件导入SAS有疑问。 我的共享驱动器中有一个excel文件,该文件在PC上的映射方式不同。 (路径在一台PC上标记为S驱动器,同一路径在另一台PC上标记为Y驱动器)。 每当我更换PC并运行SAS程序时,通常都无法导入它,因为我没有重新映射excel文件
1回复

如何在sas中读取dbf文件?

我想在sas中读取dbf文件。 但是,我尝试以下无法运行的代码。 我的sas版本是SAS / STAT 13.2 它显示“ERROE:DBMS类型DBF无效导入” 因此,我尝试了另一个代码。 它显示“ERROR:找不到过程DBF”
1回复

如何在SAS中动态导入外部文件

假设您事先不知道需要导入的文件的路径,但是在运行时已创建的表中定义了该路径。 使用宏导入它是不正确的,因为宏是在运行时之前生成的,因此,宏值无法达到将在运行时创建的数据。 因此,如何在SAS Base中导入外部文件(SAS EG,SAS DI等),您只能在运行时知道其路径?
2回复

SAS:如何在日志文件中隐藏内容

我们正在使用SAS生成大量报告,并将日志保存在文件中。 到目前为止,一切顺利,除了一件事。 我们有一个宏,用于检查日志文件中是否包含警告和错误两个词,如果找到了这些词,则会将该文件放入错误文件夹中。 我们遇到的问题是,当我们使用proc import导入CSV文件时,它会自动将其放入日
2回复

如何在SAS Webout文件中打印分组数据

我创建了如下数据集 否,我想将这些数据分组打印到我的网络文件中 我可以使用进行简单打印 但是我在用总计和总计进行分组并且仅放置一个分支条目时,很难对整个组的区域进行编码。 我们可以使用分支和代码进行分组。 PS:Fee_1_total,Fee_2_total和