热度 3||
EXCEL是非常常见的数据格式,用SAS处理数据就涉及到将数据读入进来。读入的方法,前面有所介绍,今天来探讨一个小细节,如果原始的Excel文件的变量名是中文怎么办?因为我们都知道SAS不支持中文名。首先,最简单的办法是直接在Execl里改好,这种方法简单有效,但如果数据量过多,变量很多的时候,另外要批量处理大量的excel文件的时候就不方便了。第二种办法是,忽略变量名直接从第二行开始读入数据,数据读入进来之后,再对默认的系统变量名进行修改。当然处理大量数据的时候,用宏做一个循环也可以实现大批量的操作。还有第三种办法,直接给要操作的excel文件改名。改完名后自动保存,sas就可以直接读入了。好处是“一键”处理数据,直接就从原数据到报表了。
举个最简单的例子:
可以用下面的sas程序实现,需要修改或注意的地方用颜色做了注释:
options noxwait noxsync;
x '"C:\Program Files\Microsoft Office\OFFICE11\excel.exe"'; /*这是你机器上excel软件的安装目录,不同版本略有不同,使用时做调整*/
data _null_;
x=sleep(5); /*让sas休息一会,休息时间由你定*/
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
data string;
file random;
varname1='name';
varname2='sex';
varname3='age';
;
put varname1 varname2 varname3;
run;
data _null_;
file comma1;
put '[SAVE()]';
put '[QUIT()]';
run;
手机版|会员|至尊|接种|公卫人 ( 沪ICP备06060850号-3 )
GMT+8, 2024-5-14 12:13 , Processed in 0.047941 second(s), 6 queries , Gzip On, MemCached On.
Powered by Discuz! X3.4
© 2001-2023 Discuz! Team.