将文本文件导入SAS

use*_*648 2 sas

我正在使用以下代码将文本文件导入SAS:

proc import datafile="C:\Users\Desktop\data.txt" out=Indivs dbms=dlm replace;
 delimiter=';';
   getnames=yes;
run;
Run Code Online (Sandbox Code Playgroud)

但是,我在日志中收到错误消息,并且某些字段填充了".".代替真实数据,我不知道是什么问题.

错误消息是:

Invalid data for DIPL in line 26 75-76.
Invalid data for DIPL in line 28 75-76.
Invalid data for DIPL in line 31 75-76.
Invalid data for DIPL in line 34 75-76.
Run Code Online (Sandbox Code Playgroud)

这里有一个数据样本http://m.uploadedit.com/b029/1392916373370.txt

Joe*_*Joe 5

PROC IMPORT在大多数情况下不要使用分隔文件; 你应该使用数据步输入.您可以使用PROC IMPORT生成初始代码(到您的日志),但大多数时候您需要至少进行一些更改.这听起来像是其中一个时代.

data want;
infile "blah.dat" dlm=';' dsd lrecl=32767 missover;
informat
trans $1.
triris $1.
typc $6.
;
input
trans $
triris $
typc $
... rest of variables ...
;
run;
Run Code Online (Sandbox Code Playgroud)

PROC IMPORT 在你的日志中生成这样的代码,所以你可以把它作为一个起点,然后纠正错误的东西(数字而不是字符,如果变量太少,就像上面那样添加变量等等).