您好我正在尝试导出SAS中的制表符分隔文件,如下所示
点名 Sumit1 10 Sumit2 20 SUmit4 30 SUmit5 85 SUmit6 90 SUmit7 39 hfg├╢┬«Q-┬▒├▓S├Ç┬«t├⌐├«├ôVU┬½┬æ├«j'n5E┬òd├╖Yb#$┬¡┬ÅAK┬«S┬Ä┬å ├┐-├â┬ìK├òw┬┐├│├Ñ0“┬ñh┬ùt0Ld89 SUmit8 48 SUmit9 70 SUmit10 20 SUmit11 90
我使用以下代码导入文件
data names;
infile "C:xxxxxxxx\names.txt"
delimiter='09'x MISSOVER DSD lrecl=32767 firstobs=2;
informat names $150.;
informat Points best32.;
format names $150.;
format Points best12.;
input names $
Points;
run;
导入后的sas数据集如下所示:
名称点数 Sumit1 10 Sumit2 20 SUmit4 30 SUmit5 85 SUmit6 90 SUmit7 39 hfg├╢┬«Q-┬▒├▓S├Ç┬«t├⌐├«├ôVU┬½┬æ├«j'n5E┬òd├╖Yb#$┬¡┬ÅAK┬«S┬Ä┬å ├┐-├â┬ìK├òw┬┐├│├Ñ0“┬ñh┬ùt0Ld。
所以基本上所有的行都没有在sas中导入,并且由于存在一些不寻常的字符而停止 (我不知道这个字符叫什么)第7行。
我需要导入1000个这样的文件。所以我使用宏来导入文件。 有人可以帮助我如何在SAS中导入这种类型的文件。
答案 0 :(得分:0)
尝试此代码.....相应地更改长度......
DATA names;
LENGTH Names $ 91 Points 8 ;
FORMAT Names $CHAR91. Points BEST2. ;
INFORMAT Names $CHAR91. Points BEST2. ;
INFILE 'C:xxxxxxxx\names.txt'
LRECL=32767 ENCODING="LATIN1" TERMSTR=CRLF DLM='09'x MISSOVER DSD ;
INPUT Names : $CHAR91. Points : ?? BEST2. ;
RUN;