美文网首页
批量导入CSV样例

批量导入CSV样例

作者: 寒微123 | 来源:发表于2018-10-30 14:14 被阅读0次

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 2560; infile dirlist length=reclen; input fnamevarying2560. 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. 买家支付积分50.
总金额 50. 返点积分50.
买家实际支付金额 50. 买家实际支付积分50.
订单状态 50. 买家留言200.
收货人姓名 50. 收货地址200.
运送方式 50. 联系电话50.
联系手机 50. 订单创建时间25.
订单付款时间 25. 宝贝标题500.
宝贝种类 50. 物流单号50.
物流公司 50. 订单备注500.
宝贝总数量 50. 店铺Id50.
店铺名称 50. 确认收货时间25.
打款商家金额 20. /*varname40.*/
;
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样例

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