【发布时间】:2013-04-08 20:09:41
【问题描述】:
我正在尝试使用以下代码导入多个 Excel 文件。每个 excel 文件中都有一列同时具有数值和文本值,但 proc import 仅导入数值,并将文本值留空('.')。
谁能帮我解决这个问题?非常感谢。
%let subdir=S:\Temp\;
filename dir "&subdir.*.xls";
data new;
length filename fname $ 32767;
infile dir eof=last filename=fname;
input ;
last: filename=fname;
run;
proc sort data=new nodupkey;
by filename;
run;
data null;
set new end=last;
call symputx(cats('filename',_n_),filename);
call symputx(cats('dsn',_n_),scan(scan(filename,7,'\'),1,'.'));
if last then call symputx('nobs',_n_);
run;
%put &nobs;
%macro import;
%do i=1 %to &nobs;
proc import datafile="&&filename&i" out=&&dsn&i
dbms=excel replace;
sheet = "Sheet1";
getnames=yes;
mixed=yes;
run;
%end;
%mend import;
%import
【问题讨论】: