我正在从excel导入一个文件,如下所示:
Row Col Bucket
1 2 01
2 2 00
%Macro ImportExcel(DF = , OF = , Type = , SheetName = );
proc import datafile = &DF
out = &OF dbms = &Type replace;
sheet = "&Sheetname";
run;
%Mend;
%ImportExcel(DF = "C:\Users\89974114\Documents\Book1.xlsx" , OF = Book1 , TYPE = xlsx , SheetName = Sheet1);
当我导入文件时,数据集看起来像这样
Row Col Bucket
1 2 1
2 2 0
从本质上讲,我从excel中丢失了自定义格式,并且它恢复为无默认值,无前导零的格式-可以解决此问题吗?
答案 0 :(得分:0)
我不知道在使用proc导入时应用信息的方法-这是一种钝器。您可以简单地在宏中添加一个简短的数据步骤,例如:
[proc import block]
data &OF ;
set &OF ;
format Bucket z2.;
run;
%Mend;
或者,如果要将其转换为字符串,请将格式行更改为BucketC = put(Bucket,z2.);
编辑:当然,更好的方法是使用PROC DATASETS来修改格式,但这对我的笨脑来说太明显了。