我正在尝试在SAS中打开一个文件,其中文件的名称会根据变量的值更改每一行的名称。我想要打开的所有文件都在同一个目录中,该目录以一年中的某一天命名为一个数字(127.csv、128.csv、129.csv等)。我的SAS数据有一个名为" day“的列,对于每一行,我想打开名为day的文件,从该文件中提取一个值,并将其添加到我的原始文件中。当文件名随变量的值更改每一行时,打开文件的最佳方式是什么?如果这一点不清楚,请参阅我附加的data。谢谢。
发布于 2019-07-03 05:10:27
通常,如果您想从列表中读取一组文件,可以在INFILE语句上使用FILEVAR=选项。
data want;
set have ;
length fname $200 ;
fname = catx('/',"&path",cats(day,'.csv'));
infile csv filevar=fname dsd firstobs=2 end=eof truncover ;
do while (not eof);
input ..... ;
output;
end;
run;将读取CSV文件所需的任何代码放入DO循环中。确保使用OUTPUT语句显式地写出观察结果,因为数据步骤的每次迭代都将处理一个完整的文件。
https://stackoverflow.com/questions/56859087
复制相似问题