返回首页

利用SAS读入中文名的Excel文件示例代码

时间:2012-06-28 01:30来源:Office亚博娱乐官网「唯一网址」--任意三数字加yabo.com直达官网学习网 www.office68.com编辑:麦田守望者

EXCEL是非常常见的数据格式,用SAS处理数据就涉及到将数据读入进来。读入的方法,前面有所介绍,今天来探讨一个小细节,如果原始的Excel文件的变量名是中文怎么办?因为我们都知道SAS不支持中文名。首先,最简单的办法是直接在Execl里改好,这种方法简单有效,但如果数据量过多,变量很多的时候,另外要批量处理大量的excel文件的时候就不方便了。第二种办法是,忽略变量名直接从第二行开始读入数据,数据读入进来之后,再对默认的系统变量名进行修改。当然处理大量数据的时候,用宏做一个循环也可以实现大批量的操作。还有第三种办法,直接给要操作的excel文件改名。改完名后自动保存,sas就可以直接读入了。好处是“一键”处理数据,直接就从原数据到报表了。

举个最简单的例子:

D盘根目录下,有一个data.xls的文件,其sheet1中有如下数据结构的数据。要改名为如右图的效果。

利用SAS读入中文名的Excel文件示例代码
利用SAS读入中文名的Excel文件示例代码
?

可以用下面的sas程序实现,需要修改或注意的地方用颜色做了注释:

options noxwait noxsync;

x '"C:\Program Files\Microsoft Office\OFFICE11\excel.exe"';

data _null_;

x=sleep(5);

filename comma1 dde 'excel|system';

options xsync;

data _null_;

file comma1;

put '[close("Book1")]';

put '[open("d:\data.xls")]';

run;

filename random dde

'excel|sheet1!r 1c1:r1c3';

data string;

file random;

varname1='name';

varname2='sex';

varname3='age';

;

put varname1 varname2 varname3;

run;

data _null_;

file comma1;

put '[SAVE()]';

put '[QUIT()]';

run;

运行完毕后(时间长短和机器配置有关),打开那个excel文件名字已经改了,可以用sas读了。当然要实现批量处理,你可以用macro修改上面的程序了。变量名多的话可能还需要要做一个数据字典来调用了。这种方法的好处就不多讲了,目的还是“一按运行,万事搞定!”

------分隔线----------------------------
标签(Tag):excel excel2007 excel2010 excel2003 excel技巧 excel亚博娱乐官网「唯一网址」--任意三数字加yabo.com直达官网 excel实例亚博娱乐官网「唯一网址」--任意三数字加yabo.com直达官网 excel2010技巧
------分隔线----------------------------
推荐内容
猜你感兴趣