warm greetings to all.
Can anyone help tell me how to read a text file with following format if there are 3 varibles: name age & city.
Text file :
Rocky26network
Rosy54paris
Alberter28Portugal
version im using is latest university edition !
Thanks & Regards
Atul
This is a very ugly data-format, but can be handled by using a regular expression:
data want;
length rx 8
Name $ 20
Age 8
City $ 100
;
retain rx;
drop rx;
if _n_ = 1 then do;
rx = prxparse('/([a-z]+)(\d+)([a-z]+)/i');
end;
input;
if prxmatch(rx, trim(_infile_)) then do;
Name = prxposn(rx, 1, trim(_infile_));
Age = input(prxposn(rx, 2, trim(_infile_)), best.);
City = prxposn(rx, 3, trim(_infile_));
end;
datalines;
Rocky26network
Rosy54paris
Alberter28Portugal
;
run;
warm greetings to all.
Can anyone help tell me how to read a text file with following format if there are 3 varibles: name age & city.
Text file :
Rocky26network
Rosy54paris
Alberter28Portugal
Thanks & Regards
Atul
This is a very ugly data-format, but can be handled by using a regular expression:
data want;
length rx 8
Name $ 20
Age 8
City $ 100
;
retain rx;
drop rx;
if _n_ = 1 then do;
rx = prxparse('/([a-z]+)(\d+)([a-z]+)/i');
end;
input;
if prxmatch(rx, trim(_infile_)) then do;
Name = prxposn(rx, 1, trim(_infile_));
Age = input(prxposn(rx, 2, trim(_infile_)), best.);
City = prxposn(rx, 3, trim(_infile_));
end;
datalines;
Rocky26network
Rosy54paris
Alberter28Portugal
;
run;
data want;
length Name City $ 80;
input;
Name = scan(_infile_,1,,'ka');
Age = input(scan(_infile_,1,,'kd'), best.);
City = scan(_infile_,2,,'ka');
datalines;
Rocky26network
Rosy54paris
Alberter28Portugal
;
run;
You may want to consider why the data is in that format in the first place, it isn't a good setup for a variety of reasons.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.