SAS: PROC IMPORT简单入门介绍
PROC IMPORT
作用:
可以读取外部数据并写入到SAS数据集中
语法:
语法如下:
PROC IMPORT
DATAFILE="filename" | DATATABLE="tablename" (Not used for Microsoft Excel files)
<DBMS=data-source-identifier>
<OUT=libref.SAS data-set-name> <SAS data-set-option(s)>
<REPLACE;>
<file-format-specific-statements>;
根据语法可以看到,必选参数只有一个,即DATAFILE|DATATABLE,其中DATAFILE可以用别名file代替,DATATABLE可以用别名table代替。
DBMS=data-source-identifier:导入的数据的类型
SAS data-set-option(s): SAS data set的选项,比如可以使用where data set option.
OUT=<libref.>SAS data-set:数据集的名子
REPLACE:如果数据集已经存在,是否替换。
<file-format-specific-statements>:文件格式说明,比如,对于Excel文档,GETNAMES=YES | NO可以规定是否使用文档中的第一行来产生SAS 变量,SHEET=sheet-name来指定文档中sheet的名子,每个语句是以逗号作为分割符。
示例
示例1:从excel文件中读取
从C:\Users\qingsong\Desktop\test.xlsx的sheet2中读取内容到数据集emp中,该sheet中内容如下:
使用的SAS程序如下:
PROC IMPORT DATAFILE="C:\Users\qingsong\Desktop\test.xlsx"DBMS=XLSXOUT=TEST2REPLACE;GETNAMES=YES;SHEET=sheet2;
RUN;PROC PRINT DATA=TEST;
RUN;PROC CONTENTS DATA=TEST;
RUN;
运行结果部分如下图所示,可以看到Birth Date生成的变量名为Birth_Date,多了一个下划线。
示例2:从带分隔符的文本文件中读取
假设文件 J:\sas_guide_data\base-guide-practice-data\cert\delimiter.txt 内容如下:
Region&State&Month&Expenses&Revenue
Southern&GA&JAN2001&2000&8000
Southern&GA&FEB2001&1200&6000
Southern&FL&FEB2001&8500&11000
Northern&NY&FEB2001&3000&4000
Northern&NY&MAR2001&6000&5000
Southern&FL&MAR2001&9800&13500
Northern&MA&MAR2001&1500&1000
程序如下:
proc import datafile='J:\sas_guide_data\base-guide-practice-data\cert\delimiter.txt'DBMS=DLMOUT=TEST2REPLACE;
DELIMITER='&';
GETNAMES=YES;
run;proc print data=TEST2;
run;
其中 DBMS=DLM表示文件格式为DLM(Delimited file , default delimiter is a blank))。 DELIMITER语句指定了分割符为'&',如果不指定,默认的分割符为空格。
输出结果如下:
示例3:CSV文件
CSV(Comma Separated Value)即逗号分割值的文件,示例如下:
"Africa","Boot","Addis Ababa","12","$29,761","$191,821","$769"
"Asia","Boot","Bangkok","1","$1,996","$9,576","$80"
"Canada","Boot","Calgary","8","$17,720","$63,280","$472"
"Central America/Caribbean","Boot","Kingston","33","$102,372","$393,376","$4,454"
"Eastern Europe","Boot","Budapest","22","$74,102","$317,515","$3,341"
"Middle East","Boot","Al-Khobar","10","$15,062","$44,658","$765"
"Pacific","Boot","Auckland","12","$20,141","$97,919","$962"
"South America","Boot","Bogota","19","$15,312","$35,805","$1,229"
"United States","Boot","Chicago","16","$82,483","$305,061","$3,735"
"Western Europe","Boot","Copenhagen","2","$1,663","$4,657","$129"
即可以指定DBMS=DLM, DELIMITER=',' ,也可以直接指定DBMS=CSV,程序如下,程序中有两个proc import,效果一样:
title "Hello";proc import datafile='J:\sas_guide_data\base-guide-practice-data\cert\boot.csv'DBMS=CSVOUT=TEST2REPLACE;
GETNAMES=NO;
run;proc print data=TEST2;
run;tile "world";proc import datafile='J:\sas_guide_data\base-guide-practice-data\cert\boot.csv'DBMS=DLMOUT=TEST3REPLACE;
DELIMITER=',';
GETNAMES=NO;
run;proc print data=TEST3;
run;
效果如下:
参考资料:SAS Certified Sepcialist Prep Guide
SAS: PROC IMPORT简单入门介绍相关推荐
- eve模拟器华为镜像_EVE-NG简单入门介绍
此篇文章简单的介绍下模拟器EVE-NG的使用,具体包括Dynamips设备导入与运行,IOL设备的导入与运行,QEMU设备的导入与运行,客户端软件的安装,物理网络与虚拟网络的结合等. 一.导入镜像 D ...
- linux 运行eve,EVE-NG简单入门介绍
此篇文章简单的介绍下模拟器EVE-NG的使用,具体包括Dynamips设备导入与运行,IOL设备的导入与运行,QEMU设备的导入与运行,客户端软件的安装,物理网络与虚拟网络的结合等. 导入镜像 Dyn ...
- EVE-NG简单入门介绍
此篇文章简单的介绍下模拟器 EVE-NG 的使用,具体包括 Dynamips 设备导入与运行, IOL 设备的导入与运行, QEMU 设备的导入与运行,客户端软件的安装,物理网络与虚拟网络的结合等. ...
- shiro简单入门介绍
shiro是apache的一个java安全框架 可以完成认证,授权,加密,会话管理,基于web继承,缓存等 功能简介: 从外部来看: shiro架构 Subject:主体,代表了当前"用户 ...
- Python环境搭建以及简单入门介绍
Python简介 Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. 现在,全世界差不多有600多种编程 ...
- duilib环境配置以及简单入门介绍
内容全部为转载: VS2013的编译,https://www.cnblogs.com/Alberl/p/3342030.html duilib框架介绍,以及VS2013配置,创建工程,调试代码部分: ...
- sas proc sql 基础入门 (原创作品,转载请注明出处 )
/*结构*/ /* PROC SQL; SELECT column(s) FROM table(s) | view(s) WHERE expression GROUP BY column(s) ...
- JSONP简单入门介绍
一.什么是JSONP? JSON with padding 是一种数据交换的技巧,用于解决主流浏览器的跨域数据访问的问题! 二.生产的背景 由于同源策略,一般来说位于A服务器的网页是无法与其他服务器上 ...
- DirectX12 简单入门(一)
在很久以前写过关于DirectX9的一些应用,直到现在DirectX12已经普及了.写完几个DirectX12测试代码之后,写一篇DirectX12简单入门介绍一下基本概念,以及环境搭建和编程过程. ...
- 网站设计之Flash简单动画入门介绍(一)字体闪烁及渐显
在制作网站过程中,增加些动画效果是非常美妙的一件事.由于最近在当Flash和PS课程的助教,也辅导学生完成PS.Flash.HTML等操作,所以这篇文章主要是对Flash动画的入门介绍,希望对你有所帮 ...
最新文章
- 单件模式Singleton Pattern
- uboot和linux内核移植,Uboot与kernel移植总结
- 如何使用JDBC调用存储在数据库中的函数或存储过程 */
- linux得到当前系统时间,在LINUX下用C++编程,怎么获取系统当前的时间。
- E20170830-mk
- 【转】2.3【MySQL】运行原理(三)InnoDB 逻辑存储结构
- GridView相关问题汇总
- vue 中 created 和 mounted 钩子生命周期 问题
- android 小红点自动显示,Android应用图标上的小红点Badge实践代码
- Python —os.listdir() 方法
- c3p0连接池配置模板,SSM中使用c3p0连接池配置属性
- python之pygame,详解坦克大战
- oracle asm掉盘,ASM Disk丢失的临时解决方法
- 魅族 系统更新服务器,Flyme
- 电脑自动打开代理服务器无法上网解决方案
- 基于互联云及多云的云化基础设施算力调度
- 人工智能AI:TensorFlow Keras PyTorch MXNet PaddlePaddle 深度学习实战 part1
- B2B2C分销商城系统,带进货模块,二级分销商城Java系统源码
- 进入TP-Link路由器之后利用快捷键F12查看星号路由密码的方法
- 总结归纳“windows 找不到文件‘cmd’,命令提示符无法执行和打开”的多种错误方法规避,错误重现以及正确解决方法