首页 > 代码库 > 【SAS BASE】IMPORT过程(适用于CSV文件及其他分隔符文件)
【SAS BASE】IMPORT过程(适用于CSV文件及其他分隔符文件)
1、PROC IMPROT的特点
- 默认情况下,PROC IMPORT扫描数据文件的前20行,并据此为变量分配变量类型(数值型or字符型);
- 自动为字符型变量分配长度,为数值型变量分配格式为BEST32(自己总结,不一定对);
- 将连续的两个分隔符看作是缺失值;
- 读入某一行数据时,若该行数据不足以分配给变量,则分配后面的变量为缺失值:
2、PROC IMPORT的一般形式为:
1 PROC IMPROT DATAFILE=‘filename‘ OUT=data-set;
- DBMS Identifier和REPLACE: SAS会通过文件的扩展名来决定文件类型,例如 .csv(DBMS=CSV)和 .txt(DBMS=TAB)。若文件不是CSV或者TXT文件,则需要在IMPORT语句后面加上DBMS=option选项。另外,为防止已有与OUT=data-set同名的文件,加上REPLACE来覆盖。
1 PROC IMPROT DATAFILE=‘filename‘ OUT=data-set DBMS= REPLACE;
- 其他常用options:
1 /*options of PROC IMPORT*/2 Datarows=n *从第n行开始读入数据,默认值是1;3 Delimiters=‘delimiter‘ *适用于分隔符不是comma、tab、space的情形,默认space;4 Getnames=NO *命令SAS不要从input文件中的第一行读入变量名,变量名为VAR1、VAR2。。。默认值为YES;5 GUESSINROWS=N *利用前n行来决定变量类型,默认为20;
3、PROC IMPORT导入EXCEL文件:
1 PROC IMPORT DATAFILE=‘file-name.xls‘ 2 OUT=data-set 3 DBMS=Excel/XLS 4 SHEET=”sheet-name“ 5 RANGE="sheetname$UL:LR" 6 GETNAMES=NO REPLACE;
备注:1. DBMS=Excel默认读取仅前8行来判别变量的类型,而DBMS=XLS会读取所有行;2. UL:例子R2C1,到cell级
4、PROC IMPORT导入ACCESS文件:
1 PROC IMPORT DATATABLE=’table-name.mdb‘2 OUT=data-set3 DBMS=ACCESS/ACCESS97 REPLACE;4 DATABASE=‘database-path’;
备注:特别要注意,导入ACCESS文件时,需要用DATATABLE=选项和DATABASE=语句
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。