本人新手,想解决问题全靠百度搜索,然后堆砌的方法。
我的txt文件共有636行,如果没有文件结尾的两个换行符,程序可以正常运行;如果只有一个换行符,也可以正常运行;但是有了两个换行符,就无法运行,提示如下
ERROR: Invalid DO loop control information, either the INITIAL or TO expression is missing or the
BY expression is missing, zero, or invalid.
我的读入文件的语句是 INFILE 'D:\SHIYAN.txt' DLM=',' lrecl=800 pad MISSOVER;
因为每行数据都不规则,所以采用了几个INPUT语句来读入每行的数据,中间还将INPUT放入循环中,进行循环读入,这是因为中间有部分数据比较规则且重复了很多次,到了每行最后一小段,不需要循环读入的,再采用一个INPUT语句来结束整行的读取,具体如下:
INPUT DATE ANYDTDTE11. @17 REMAINDER $:50. CMD_PST $ @;
然后是放在循环体中的INPUT语句
INPUT STOCK_STR $:30. @;
最后是不需要循环使用的INPUT语句,以此来结束整行的读取
INPUT @'= ' Avg_RATIO 5.3 ;
如果只有这一个文件,那我就手动删除最后两个换行就行了,问题是有一堆txt文件,弄不过来。还请达人帮忙看看怎么改。
问题2: 我想让变量按照我指定的顺序,来形成sas数据集,在网上查用retain语句,我也用了,也成功了,但是有个问题,因为我每行的数据并不是全都一样的,比如我上一行有10个股票的价格,然后这一行只有6个股票的价格,这样就应该空余出4个股票价格的位置为空,但是这个RETAIN语句,把上一行的同样位置的4个数据,给保存下来了,导致这一样不是只有6个价格,而是有10个价格。请教达人,难道就没有其他办法来调整我想要的变量的顺序吗。
万分感谢。