sas 读取html,SAS:读取网页数据

这是一个用SAS直接获取SAS抓网页数据代码,而我也是在别人的基础上进行修改的,其实就是多了一个数据清洗。

这个是原始代码:

filename etf url 'http://www.sse.com.cn/sseportal/webapp/datapresent/ETF50downlad?SEQ_ID=12889'  RECFM=v lrecl=1000;

data _tmp;

file _webout;

infile etf length=len;

length content $32766. ;

input content $varying32766. len;

run;

这个代码把所有信息读入到一个变量中,没有根据字段分开,也没有去掉头部、尾部的非数据信息。

于是根据实际的需求,将代码进行了优化,得到的是整理后的信息。

具体用的的数据步的指令有do until……end;

并且用一个a作为信号指标,对当时所处的状态进行记录,do until对状态进行判断,这样做到对数据的清洗整理,使获得我们真正需要的数据。

代码:

filename etf url 'http://www.sse.com.cn/sseportal/webapp/datapresent/ETF50downlad?SEQ_ID=12889'  RECFM=v lrecl=1000;         /*将网络数据保存到etf中*/

data _tmp;

file _webout;

infile etf length=len dlm='|';   /*分割符为 | */

do until (a=1);            /*a的原始值为缺失,当a被赋值1时,说明数据指针已经达到需要数据的头部*/

input id $ ;

if id="TAGTAG" THEN a=1;       /*当发现头部标志时赋值a为1*/

end;

do until (a=2);

input id $ name $ d e f g;

if id ne "ENDEND" then output;

else a=2; /*当发现尾部标志时赋值a为2*/

end;

drop a;    /*丢弃信号变量a*/

run;

/*-------END----------*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值