Help using Base SAS procedures

Reading by delimiter

Reply
Contributor
Posts: 37

Reading by delimiter

Is there a way to readin a raw file by delimiter or is a line by line read-in the only option. Because I have split lines with quite weird scenarios.

A               B               C

1               2                3

1              

3               6

1               5              

8

It should have been

A               B               C

1               2               3

1               3               6

1               5               8

Please help!

Frequent Contributor
Posts: 138

Reading by delimiter

Not sure whether it is possible or not..

Regular Contributor
Posts: 233

Reading by delimiter

data have;
input a b c;
cards;
1               2                3
1              
3               6
1               5              
8
;
run;

proc print; run;

Output:

                                       Obs    a    b    c

                                        1     1    2    3
                                        2     1    3    6
                                        3     1    5    8


Super User
Posts: 9,662

Re: Reading by delimiter

I think you should post some more sample data to clarify your question.

filename x 'c:\x.txt';
data want(keep=a b c);
 infile x end=last;
 input;
 length row $ 256 ;
 retain row;
 row=catx(' ',row,_infile_);
 if countw(row)=3 then do;
                         a=scan(row,1);b=scan(row,2);c=scan(row,3);
                         output;
                         call missing(row);
                        end;
  else if last then do;
                         a=scan(row,1);b=scan(row,2);c=scan(row,3);
                         output;
                     end;
run;


Ksharp

Ask a Question
Discussion stats
  • 3 replies
  • 219 views
  • 0 likes
  • 4 in conversation