从外部文件读取数据时SAS中输入缓冲区的默认行为

时间:2013-09-19 06:17:12

标签: sas

a.txt的内容
22个
333个
4444
55555

但是当我运行这段代码时:

data numbers;
infile ’c:\a.txt’;
input var 5.;
/* list */ ;
run;

numbers.sas中的数据保存为:

  333  
55555

**请注意numbers.sas中的数据格式和a.txt中的格式

但是当我使用列表时,输入缓冲区有点像这样:

RULE:     ----+----1----+----2----+----3----+----4----+----5----+----6----+----7  
2         333 3    
4         55555 5

为什么sas不显示1和3?输入缓冲区如何读取? 请解释

1 个答案:

答案 0 :(得分:3)

尝试将TRUNCOVER添加到infile语句或在输入语句后删除5. SAS现在需要一个5位数字。如果源文件中的行少于5个字符,则将继续读取。

data numbers;
infile 'c:\a.txt' truncover;
input var 5.;
run;

有关更多信息,请阅读此paper on infile statement选项