Как открыть файл с именем по значению переменной, которая изменяется между строками в SAS - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь открыть файл в SAS, где имя файла изменяется для каждой строки в зависимости от значения переменной. Все файлы, которые я хочу открыть, находятся в одном каталоге с именем дня года в виде числа (127.csv, 128.csv, 129.csv и т. Д.). В моих данных SAS есть столбец «день», и для каждой строки я хотел бы открыть файл с именем «день», извлечь значение из этого файла и добавить его в исходный файл. Каков наилучший способ открыть файл, когда имя меняет каждую строку со значением переменной? Смотрите мои прилагаемые данные , если это неясно. Спасибо.

1 Ответ

0 голосов
/ 03 июля 2019

В общем, если вы хотите управлять чтением набора файлов из списка, вы используете опцию FILEVAR= в операторе INFILE.

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 для явной записи наблюдений, поскольку каждая итерация шага данных будет обрабатывать один файл целиком.

...