来自this link我学习了如何阅读多个txt文件。
问题:是否可以创建一个宏变量来输入文件夹中的所有txt文件。说C:\ Users \ Desktop \(给定所有文件都是txt格式,名称为datasetyyyymmdd。)
我有dataset20150101.txt - dataset20150806.txt,我不想手动输入数据线中的所有链接。
data whole2;
infile datalines;
length fil2read $256;
input fil2read $;
infile dummy filevar=fil2read end=done dsd;
do while (not done);
input name$ value1 value2;
output;
end;
datalines;
C:\Users\Desktop\dataset20150501.txt
C:\Users\Desktop\dataset20150502.txt
run;
答案 0 :(得分:3)
询问操作系统存在哪些文件:
filename DataIn pipe "dir C:\Users\Desktop\dataset*.txt /S /B";
data whole2;
infile DataIn truncover;
length fil2read $256;
input fil2read $;
infile dummy filevar=fil2read end=done dsd;
do while (not done);
input name$ value1 value2;
output;
end;
run;
Bare选项/B
会删除不需要的信息,例如上次访问日期。
我添加了子文件夹选项/S
,因为然后dir语句返回完整的路径名。这样,它还会读取dataset*.txt
子文件夹中的C:\Users\Desktop\
个文件。如果这不适合您,请删除/S
并使用
path2Read = "dir C:\Users\Desktop\"||fil2read;