我正在尝试在SAS中打开一个文件,其中文件的名称根据变量的值更改了每行的名称。我要打开的所有文件均在同一目录中名为"一年中的一天"(127.csv,128.csv,129.csv等(。我的SAS数据有一个名为" Day"的列,对于每行,我想打开当天名称的文件,从该文件中提取一个值,然后将其添加到我的原始文件中。当名称用变量的值更改每行时,打开文件的最佳方法是什么?如果这不清楚,请参阅我的附加数据。谢谢。
通常,如果要从列表中驱动读取一组文件,则在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;
将您需要在DO循环内读取CSV文件所需的任何代码。确保使用输出语句明确写出观察值,因为数据步骤的每个迭代都会处理一个整个文件。