The fact that there are multiple words per variable makes the processing a little tricky. Here's one way to approach it:
data want;
length address $ 50 city $ 30 state $ 2 zip $ 5 dummy $ 1;
input dummy;
address = _infile_;
input dummy;
zip = scan(_infile_, -1);
state = scan(_infile_, -2);
city = substr(_infile_, 1, length(_infile_)-9);
input latitude longitude;
drop dummy;
datalines;
...
;
You might want to inspect the zipcodes to make sure you don't have any longer values there. Also note, it's better to make zipcode character instead of numeric so you won't have to worry about leading zeros.
... View more