将模式匹配的文件读入一个SAS数据集

时间:2015-02-02 19:40:08

标签: sas

我想使用模式匹配将一些.csv文件读入单个SAS数据集。例如,如果在目录/home/datasets中有5个文件:

/home/datasets
   ~/output_group1a.csv
   ~/output_group1b.csv
   ~/output_group1c.csv
   ~/output_group2a.csv
   ~/output_group2b.csv

所有具有已知和相同的结构和数据类型。我想只读取与组1对应的文件,而不必明确指定文件名。

1 个答案:

答案 0 :(得分:4)

您可以在infile语句中使用通配符。如果您在每个文件中都有标题,则需要对此进行说明。这是一个例子。

https://gist.github.com/statgeek/4c27ea9a7ed6d3528835

data try01;

length filename txt_file_name $256;

retain txt_file_name;

infile "Path\*.txt" eov=eov filename=filename truncover;

input@;

if _n_ eq 1 or eov then do;

txt_file_name = scan(filename, -2, ".\");

eov=0;

end;

else input

 *Place input code here;

;



run;