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

Read in Files with pattern match into one SAS dataset

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

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

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

您可以在 infile 语句中使用通配符。如果每个文件中都有 headers,则需要考虑到这一点。这里有更多的例子。

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

data try01;

length filename txt_file_name 6;

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;