我想使用模式匹配将一些.csv文件读入单个SAS数据集。例如,如果在目录/home/datasets
中有5个文件:
/home/datasets
~/output_group1a.csv
~/output_group1b.csv
~/output_group1c.csv
~/output_group2a.csv
~/output_group2b.csv
所有具有已知和相同的结构和数据类型。我想只读取与组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;