码迷,mamicode.com
首页 > 其他好文 > 详细

【SAS BASE】IMPORT过程(适用于CSV文件及其他分隔符文件)

时间:2014-07-24 14:46:05      阅读:401      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   strong   文件   数据   io   re   

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-set
3                      DBMS=ACCESS/ACCESS97 REPLACE;
4 DATABASE=‘database-path’;

 

备注:特别要注意,导入ACCESS文件时,需要用DATATABLE=选项和DATABASE=语句

【SAS BASE】IMPORT过程(适用于CSV文件及其他分隔符文件),布布扣,bubuko.com

【SAS BASE】IMPORT过程(适用于CSV文件及其他分隔符文件)

标签:style   blog   color   strong   文件   数据   io   re   

原文地址:http://www.cnblogs.com/chenyn68/p/3865352.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!