Добавление CSV-файлов в SAS - PullRequest
2 голосов
/ 10 февраля 2011

У меня есть куча CSV-файлов.У каждого есть данные из разных периодов:

filename file1 'JAN2011_PRICE.csv';
filename file2 'FEB2011_PRICE.csv';
...

Нужно ли вручную создавать промежуточные наборы данных, а затем добавлять их все вместе?Есть ли лучший способ сделать это?

РЕШЕНИЕ

Из документации предпочтительнее использовать:

data allcsv;
       length fileloc myinfile $ 300;
       input fileloc $ ; /* read instream data       */

      /* The INFILE statement closes the current file 
         and opens a new one if FILELOC changes value 
         when INFILE executes                        */
       infile my filevar=fileloc 
              filename=myinfile end=done dlm=','; 

      /* DONE set to 1 when last input record read  */
       do while(not done);
      /* Read all input records from the currently  */
      /* opened input file                          */
         input col1 col2 col3 ...;
         output;
       end;
       put 'Finished reading ' myinfile=; 
datalines;
path-to-file1
path-to-file2
...
run;

Ответы [ 2 ]

2 голосов
/ 10 февраля 2011

Самый простой способ - использовать подстановочный знак.

filename allfiles '*PRICE.csv';

data allcsv;
 infile allfiles end=done dlm=',';
 input col1 col2 col3 ...;
run;
2 голосов
/ 10 февраля 2011

Чтобы прочитать набор файлов csv в одном наборе данных SAS, вы можете использовать один шаг данных, как описано в документации SAS здесь .Вы хотите второй пример в этом разделе, который использует опцию filevar= infile.

Не должно быть никаких причин для создания промежуточных наборов данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...