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
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.