批量导入CSV样例

options validvarname=any;
libname nb "E:\NB\sas数据集\aduit_test";
options validvarname=any;

%let dirname = E:\NB\原始数据\5-9月数据\童鞋\订单;
filename dirlist pipe "dir /B &dirname*.csv";

data dirlist_leif ;
length fname varying2560. reclen;
run;

data dirlist_leif;
set dirlist_leif;
var=translate(compress("s" || translate(fname,'','.csv')),'','-');
var=translate(var,'','订单报表');
var=compress(translate(var,'','订单'));
var=compress(translate(var,'','至'));
var=substr(var,1,15);
/if index(fname,'订单')>0;/
call symput ('pvars',n);
run;

%put &pvars.;

data nb.total_1015_adult;
format 订单编号 50.
买家支付宝账号 50.
买家应付邮费 50.
总金额 50.
买家实际支付金额 50.
订单状态 200.
收货人姓名 200.
运送方式 50.
联系手机 25.
订单付款时间 500.
宝贝种类 50.
物流公司 500.
宝贝总数量 50.
店铺名称 25.
打款商家金额 40.*/
;
stop;
run;

%macro getcsv;
%do i=1 %to &pvars.;
data null;
set dirlist_leif;
if n=&i.;
call symput ('file',trim(fname));
call symput ('var',trim(var));
run;
%put &file. &var.;

proc import out=nb.temp
datafile="&dirname&file."
DBMS=CSV replace;
getnames=yes;
run;

/data nb.temp;/
/set nb.temp;/
/varname="&var.";/
/run;/

data nb.total_1015_adult;
set nb.total_1015_adult
nb.temp(keep=订单编号
买家会员名
买家支付宝账号
买家应付货款
买家应付邮费
买家支付积分
总金额
返点积分
买家实际支付金额
买家实际支付积分
订单状态
买家留言
收货人姓名
收货地址
运送方式
联系电话
联系手机
订单创建时间
订单付款时间
宝贝标题
宝贝种类
物流单号
物流公司
订单备注
宝贝总数量
店铺Id
店铺名称
确认收货时间
打款商家金额
)
;
run;

%end;
%mend;

%getcsv;

你可能感兴趣的:(批量导入CSV样例)