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

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

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

时间: 2024-08-03 04:55:29

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

【SAS BASE】PROC EXPORT

PROC EXPORT可导出两种类型的文件: 导出delimited文件 1 *例子; 2 PROC EXPORT DATA=hotels 3 OUTFILE='C:\MyRawData\Hotels.txt' /*后缀名决定了输出文件的格式,除此之外,额也可以通过DBMS=选项来指定.*/ 4 /*例如:space-delimited文件时没有标准的后缀名的,只能通过DBMS=选项来输出*/ 5 DBMS=DLM /*若输出CSV文件,则DBMS=CSV; 6 若输出txt文件,则DBMS=T

【SAS BASE】ODS OUTPUT

一.ODS的基本性质 ODS输出格式:LISTING(默认的标准SAS输出).HTML.RTF.PRTNTER.PS.PCL.PDF.OUTPUT(SAS OUTPUT Date-set).MARKUP.DOCUMENT; ODS内有table template(指定输出结构)和style template(指定外观结构):首先通过table template作用从procedure中产生数据,形成output project,然后经过style template作用送到destination加

【SAS BASE】处理数据集

本节内容包括:SET语句.MERGE语句.UPDATA语句.OUTPUT语句.TRANSPOSE语句和data-set选项及SAS Automatic Variables 一.SET语句(堆叠功能) 用SET语句修改数据集 DATA Friday; SET Sales;/SET 'C:\MySASLIB\trains.dat'; IF DAY='F'; Total=Propcorn+peanuts;/*建立新的变量*/ RUN; 用SET语句堆叠(stack)数据 1 DATA BOTH; 2

【SAS BASE】PROC REPORT

PROC REPORT包含了PRINT.MEANS.TABULATE.SORT过程和DATA步的功能: 一.基本语法: 1 DATA natparks; 2 INFILE 'C:\MyRawdata\parks.dat'; 3 INPUT Name $ 1-21 Type $ Region $ Museums Camping; 4 RUN; 5 6 /*-----Group and Across Variables(Group:纵向;Across:横向)---*/ 7 *Region as Gr

【SAS BASE】PROC TABULATE(输出更加精美的tabulate报告)

PROC TABULATE的一般形式:(主语与FREQ过程不同,这里是table 语句,不是tables) 1 PROC TABULATE FORMAT=options;/*FORMAT=选项改变table中所有cell的格式*/ 2 VAR analysis-variable-list; 3 CLASS classification-variable-list;/*在下面table语句中出现的变量必须预先在VAR语句或CLASS出现过*/ 4 TABLE page-dimension, row

【SAS BASE】PROC CONTENTS与LABEL

CONTENTS过程(查看数据集的属性) 1 PROC CONTENTS DATA=data-set; 2 RUN; LABEL 1 /*LABEL分为两种,但均不能超过256个字符*/ 2 LABEL=data-set (给数据集定义一个Label) 3 LABEL statement (赋予每个变量一个label) 4 5 /*对于变量来说,如果在DATA布中采用LABEL语句,则变量的描述会存储在数据集中,并在PROC CONTENTS中打印出来: 6 而若在PROC中采用,将不会存储在数

【SAS BASE】SAS格式、缺失值表示、命名规则及路径

1.两种注释Commets 1 *print the comments; 2 /*print the comments*/ 注意:此类注释不能放在第一行 2.缺失值表示: 缺省的字符型数据用空格表示:缺失的数值型用单点表示(.)的. 3.SAS命名规则: 1 Libref.member_name /*分为两级,例如:WORK.BIKESALES*/ 2 /*libref名不超过8个字符,member_name不超过32个*/ 3 4 /*SAS命名规则*/ 5 数据集和变量的名字长度不能超过32

Java读取CSV数据并写入txt文件

读取CSV数据并写入txt文件 package com.vfsd; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import com.csvreader.CsvReader; /****************************************************************************

【SAS BASE】PROC FREQ

一般形式: 1 PROC FREQ; 2 TABLES variable_combinations/options; 3 /*variable_combinations 4 若为单变量:TABLE variable-name; 5 若为多变量: TABLE variable-name-1 variable-name-2 ...; 6 若为交叉变量:TABLES variable-name-1*variable-name-2; 7 */ 常见的options有: 1 LIST:将cross-tab