DATA Step, Macro, Functions and more

Reading the file date of an external csv file

Reply
New Contributor
Posts: 2

Reading the file date of an external csv file

Hello,

 

How can I read the file date from an external file in SAS?

 

I have a job that is already reading the fline name to load in multiple external files daily – I would like to include the date of the file in the data set I create.

 

For example if the file was created on 3/27/2017 - I would like the code to read in 3/27/2017 so I can add it to my data set.

 

I’m using User Written code in DI Studio to read in the file name – but I can't find how to read in the file date. Here’s the code I have so far:

--------------------------------------------------------

 

filename DIRLIST pipe 'dir "\\filelocation\*.csv" /b ';

data dirlist ;

   infile dirlist lrecl=200 truncover;

   input InFile_name $100.;

run;

 

data _null_;

   set dirlist end=end;

   count+1;

   call symputx('read'||put(count,7.-l),cats('filelocation',InFile_name));

   call symputx('dset'||put(count,7.-l),scan(InFile_name,1,'.'));

   if end then call symputx('max',count);

run;

 

options mprint symbolgen;

%macro readin;

   %do i=1 %to &max;

 

      data &&dset&i;

         infile "&&read&i" lrecl=1000 truncover dsd;

         input var1 $ var2 $ var3 $;

       run;

 

   %end;

%mend readin;

 

libname BICTMPOD '\\filelocation\TEMPODBC';

 

data BICTMPOD.work_In_File_Names;

  set dirlist;

 

run;

 

Super User
Posts: 17,840

Re: Reading the file date of an external csv file

In the DIR option make sure you specify the correct options to include the created/modified date in the output. Then in the data step you read in the variables needed.

 

Windows reference for DIR statement.

https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/dir.mspx?mfr=true

 

And here's a SAS note that illustrates how to do this:

http://support.sas.com/kb/38/267.html

 

You do know that you can read all text files at once if they have the same structure, if they're in the same folder use a wildcard.

https://communities.sas.com/t5/SAS-Communities-Library/How-do-I-write-a-macro-to-import-multiple-tex...

 

 

 

 

PROC Star
Posts: 7,363

Re: Reading the file date of an external csv file

The following works for me (using Windows10):

 

filename DIRLIST pipe 'dir "c:\art\*.csv" /tw ';
data dirlist (keep=InFile_name date);
  informat date yymmdd10.;
  format date date9.;
  informat time time8.;
  format time time5.;
  informat size comma12.;
  informat InFile_name $100.;
  infile dirlist lrecl=200 truncover;
  input date time ampm $ size InFile_name;
  if not missing(date);
run;

Art, CEO, AnalystFinder.com

Ask a Question
Discussion stats
  • 2 replies
  • 114 views
  • 3 likes
  • 3 in conversation