SAS 将文件自动导入,并自动获取文件名

这个是我最近解决的问题,欢迎大家批评指点哈!概述:SAS 可以用input,在指定column 名字的情况下,load数据;可以用proc import 来导入未知column个数的数据,他会自动生成每一列的格式,但有个弊端,就是针对空的列,他会assign char的格式,如果我要append同样格式的文件到第一个文件,第二个文件中那个列不为空,这时,就会出现问题。下面的方法可以
摘要由CSDN通过智能技术生成

这个是我最近解决的问题,欢迎大家批评指点哈!


概述:SAS 可以用input,在指定column 名字的情况下,load数据;可以用proc import 来导入未知column个数的数据,他会自动生成每一列的格式,但有个弊端,就是针对空的列,他会assign char的格式,如果我要append同样格式的文件到第一个文件,第二个文件中那个列不为空,这时,就会出现问题。

下面的方法可以解决,把多个格式一样的数据,load到sas的一个表中,而且可以自动提取表名。


/*summary of the macro variables


Used for Comma delimited csv files. 

num  -- how many columns in the file

filename -- file name you want to do the qc and summary(including file location
*/

%macro infiledata(filename);
proc import datafile="&filename" out=aa replace dbms=csv;
run;
******get the the quantity of the column***********;
%let dsid=%sysfunc(open(aa),i);
%let num=%sysfunc(attrn(&dsid,nvars));
%let rc=%sysfunc(close(&dsid));


%macro importfile(n);
data b0;
infile "&filename" delimiter=',' MISSOVER
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值