Read all of the files in one data step and avoid the problems caused by letting SAS guess at how your variables are defined.
If it is too hard for you make decisions about whether column 212 should be read as numeric or character then why not read them all as character? You can use wildcard in the filename and then test when you start an new file so you can skip the header rows.
data attributes_2017;
length var1-var453 $50 ;
length filename $200 ;
infile "$FSROOT/.../attributes.long.55769e3d9a318c4312000009.csv/part-0000*"
dsd dlm=',' filename=filename truncover
;
input @ ;
if filename ne lag(filename) then input ;
input var1-var453 ;
run;
You can make it better by using the real variable names and types/lengths in the LENGTH statement. For the INPUT statement just use positional variable list. input firstvar -- lastvar ;
... View more