我一直试图从一个文本文件中读取,该文件包含如下所示的行并且分隔符为分号:
Sun rises
in the east
and;
sets in the
west
;
我正在尝试从单个单独的记录中读取分隔符到分隔符的数据,如下所示 变量名
1 Sun rises in the east and
2 sets in the west
我已尝试使用infile
选项提供的几乎所有选项无效。是否可以像上面那样阅读?怎么做?任何线索/帮助将不胜感激。
答案 0 :(得分:1)
recfm=n
是告诉SAS没有'换行符'的方法。所以:
data want;
infile "c:\temp\test.txt" recfm=n dsd dlm=';';
length text $1024;
input text $;
run;
请注意,换行符将被读取为另外两个字符,因此如果要删除这些字符,可以使用带有compress
选项的c
来删除控制字符(包括LF / FF) )。
答案 1 :(得分:0)
逐字阅读并连接成更长的行。
data want ;
infile mydat end=eof ;
length word $200 line $2000 ;
drop word;
do while (^eof and ^index(word,';'));
input word @ ;
line = catx(' ',line,compress(word,';'));
end;
if _n_ > 1 or line ne ' ' then output;
run;