全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2729 1
2016-04-23
本人新手,想解决问题全靠百度搜索,然后堆砌的方法。
我的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个价格。请教达人,难道就没有其他办法来调整我想要的变量的顺序吗。

万分感谢。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-4-24 19:16:42
多谢版主的鼓励,我还是没想到解决办法。这个数据集,是用来做SPSS modeler作业用的。本来一大堆txt,如果这样,只能挑一两个先操作一下,把作业交上去了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群