Hi,
Is it possible to get creation date (crdate) and/or last modified date of a CSV file with SAS before import of the file?
data mydata;
infile 'C:\MyData\thedata.csv' dlm='3B'x;
input var1 :$7.
var2 :8.
;
run;
Also, creation date of the file thedata.csv.
Yes.
Look at the functions, and online help examples for functions FINFO, FOPTNUM, FOPTNAME and related. You can get the system information available from your operating system.
Assuming the operating system is Windows, the following program creates the macrovariable CRDATE with the date and time the file was last modified. You can later use this value in any SAS data or proc step:
%let folder=C:\MyData;
%let csvfile=THEDATA.CSV;
filename folder pipe "dir &folder";
data _null_;
infile folder lrecl=256 pad;
length file $32 date $10 time $5 ampm $2;
input;
file=scan(_infile_,5,' ');
if upcase(trim(file))="&csvfile" then do;
date=scan(_infile_,1,' ');
time=scan(_infile_,2,' ');
ampm=scan(_infile_,3,' ');
datenum=input(date,mmddyy10.);
timenum=input(time,time5.);
if ampm='PM' then timenum=timenum+(12*3600);
dtnum=dhms(datenum,hour(timenum),minute(timenum),second(timenum));
call symputx('CRDATE',put(dtnum,datetime19.));
stop;
end;
run;
%put &crdate;
CTorres
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.