SAS批量读入Excel+批量修改变量名_第1页
SAS批量读入Excel+批量修改变量名_第2页
SAS批量读入Excel+批量修改变量名_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上收集了N多Excel表格,如何将他们汇总在一块儿呢?如果会VBA,这或许也不是一件难事,事实上有些Excel插件就可以解决这个问题。这里看看如何用SAS来解决/*指定需要合并的文件的路径*/%let path=D:test;/*注意dir后面与路径之间要有空格*/filename files pipe dir &path /b;/*读入文件名列表*/data test;infile files truncover;input name $96.;run;/*获取文件名宏变量和文件个数宏变量*/proc sql noprint;select scan(name,1,;)

2、,count(name) into: filenames separated by ;,:nfrom test;quit;/*循环读入Excel文件*/%macro infiles;%local i;%do i=1 %to &n;proc import datafile=&path.%scan(&filenames,&i,;) out=_a&i dbms=excel replace;run;%end;%mend;%infiles/*合并文件*/*这一步也可以放在上面的循环中处理*/%macro appends;%local i;%do i=2 %to &n;proc append base=_

3、a1 data=_a&i ; run;%end;data files;set _a1;run;%mend;%appends;/*删除文件*/proc datasets lib=work nolist ;delete _a: / memtype=data;quit;如果是遇到这样的表头呢?好吧,当然也是可以正确读入的。libname local d:test;%let in_file_path=d:test;%macro in_file(in_file_name,read_sheet_name,fstobs,out_file_name);proc import out=&out_file_nam

4、efile=&in_file_path&in_file_namedbms=excel replace;dbdsopts=firstobs=&fstobs;getnames=no;scantext=yes;usedate=yes;sheet=&read_sheet_name;scantime=yes;dbsaslabel=none;run;%mend;%in_file(-XXXX 花名册 - (3)副本.xlsx,在职名册,4,hr);/*如果不加dbsaslabel选项,打开数据集时会发现字段名称为A,B,C.打开缓慢,会导致SAS崩溃*/*建议使用office2013及以上*/读入后发现字段

5、名是这样的,没有任何意义,怎么批量改?/*批量修改变量名*/*应用场景:*/*读入带有中文列名的Excel表格时,会产生例如_col1,var1,F1等形式的字段名,这往往不是所需要的*/*一个一个rename比较麻烦,可以采取批量修改的方式,特别是读入表格较多的时候*/*注意:新的字段名需要与原字段名位置相对应,逻辑库和数据集名称需要大写*/*%rename(WORK,A,aa bb cc dd ee ff gg hh);*/*例如要将 a b c d e f g h 修改为 aa bb cc dd ee ff gg hh*/data a;input a b c d e f g h;stop

6、;cards;run;%macro rename(lib,dsn,newname);data &LIB.&dsn._copy;set &LIB.&dsn.;run;proc sql noprint;select nvar into :num_varsfrom dictionary.tableswhere libname=&LIB and memname=&DSN;select distinct(name) into :var1-:var%trim(%left(&num_vars)from dictionary.columnswhere libname=&LIB and memname=&DSN;quit;proc datasets library = &LIB;modify &DSN;rename%do i = 1 %to &num_vars.;&v

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论