美文网首页BG-SAS
应用sas在ftp上批量下载文件

应用sas在ftp上批量下载文件

作者: _瑾_瑜_ | 来源:发表于2018-05-25 14:22 被阅读0次

    应用sas在ftp上批量下载文件

    做数据分析,难免会有其他的数据获取方式,求人不如求己,用sas的小伙伴不要气馁!

    接下来让我们看一下sas代码实现在ftp上批量下载文件

    首先我们先上代码:

    %macro getfile(lcd,cd,user,pwd,host);

      filename dir ftp '' ls user="&user." pass ="&pwd."

            host="&host."  cd = "&cd." prompt;

    /*获取ftp的cd地址下的文件目录*/

    data _null_;

        length fname $50.;

        infile dir;

        input fname;

        put fname = ;

    /*生成宏变量和循环次数*/

        call symput(compress("fname"||_N_),compress(fname));

        call symput("count",_N_);

    run;

        %do i = 1 %to &count.;

        filename remote ftp "&cd." DIR

                        host="&host."

                        user="&user." pass="&pwd." prompt rcmd="binary" recfm=s debug;

      filename local "&lcd." recfm=n;

    /*文件下载*/

      data _null_;

        infile remote("&&fname&i.") NBYTE=n;

        input;

        file local("&&fname&i.");

        put _infile_ @@;

      run;

    %end;

    %mend;

    然后我们就代码里的细节进行掌握

    我们就libname与filename的区别来理解filename的应用

    libname:libname是建立一个逻辑库,表示一个library

    filename: 是用来表示一个计算机中的文件 ,也可以是一个目录,Filename的文件需要通过input变化为数据                    集才能使用

    如果想实现上传只需要把“文件下载”里的remote和local进行调换

    下面来看一下_null_数据集里内容就是ftp目标文件夹里的文件名

    还有最后下载结果:

    是不是很强大,所有格式都没问题!!!

    相关文章

      网友评论

        本文标题:应用sas在ftp上批量下载文件

        本文链接:https://www.haomeiwen.com/subject/dmpyjftx.html