《深入解析sas:数据处理、分析优化与商业应用》一3.6 将数据集写出到外部文件
本节书摘来自华章出版社《深入解析sas:数据处理、分析优化与商业应用》一书中的第3章,第3.6节,作者 夏坤庄 徐唯 潘红莲 林建伟,更多章节内容可以访问云栖社区“华章计算机”公众号查看
除了可以在SAS环境中对SAS数据集进行加工处理外,SAS数据集的数据还可以导出到外部文件中,以便在未安装SAS软件的环境中使用,SAS提供了EXPORT过程来实现此功能。EXPORT过程可以将SAS数据集按照指定格式写入外部文本文件。当SAS安装中存在SAS/ACCESS to PC Files许可时,EXPORT过程还可以读取写入PC文件中的外部数据,包括Microsoft Access数据库文件、Miscrosft Excel工作簿、Lotus 1-2-3文件、dBase文件、JMP文件、SPSS文件、Stata文件和Paradox等。
本节介绍如何使用EXPORT过程将SAS数据集导入常用的外部文件,例如带分隔符的文本文件和Microsoft Excel工作簿。同时,SAS还提供了EXPORT向导(选择菜单“文件”“导出数据”)通过图形界面的方式将SAS数据集中的数据导出到上述类型的文件中。导出过程所生成的SAS语句也可以保存起来供以后使用。
EXPORT过程的基本形式如下:
PROC EXPORT DATA=数据集 OUTFILE=文件名 | 文件引用 | OUTTABLE=表名 DBMS=数据源标识符
其中:
DATA=指定要导出的SAS数据集。其后可添加数据集选项。
OUTFILE=指定要将SAS数据集中的数据写入的文件,可以是物理路径或文件引用;OUTTABLE=指定将SAS数据集的内容导入Microsoft Access数据库时的表名。
DBMS指定所导出的数据类型。SAS支持多种数据类型,例如DLM、CSV、TAB、ACCESS、XLSX、XLS、EXCEL、JMP、DTA、SPASS等。
其中,DLM、CSV、TAB表示导出的数据文件是分别由指定字符(默认为空格)、逗号和制表符分隔的文本文件;ACCESS表示为使用LIBNAME语句的Miscrosoft Access 表;XLSX表示导出的数据文件为Micorsoft Excel 2007或2010的工作簿。可参考SAS帮助文档关于导入数据类型和各类型的详细信息。
在EXPORT过程中还可以指定参数REPLACE,表示当该OUTFILE=指定的文件存在时覆盖该文件,如果不指定REPLACE,则EXPORT过程不会覆盖已经存在的文件。
1.?导出到带分隔符的文件
SAS使用EXPORT过程将数据集中的数据导出到带分隔符的文件(包括DBMS为DLM、CSV和TAB)中时,还可指定表3.14中所示的参数。
例3.35:将公司员工信息导出到文件中,文件各列使用逗号(,)分隔。
代码如下:
proc export data=saslib.employee outfile=C:\SAS\data\employee.dat dbms=dlm replace; delimiter=,; putnames=no;
所导出的文件的部分内容如下:
Emp_ID,Emp_Name,Dept,Title,Entry_Date ED003,Benjamin Leslie,DSG,Senior Manager,04/26/1993 EC003,Thomos Oliver,CSG,Senior Analyst,08/01/1998 EC011,Adam Scott,CSG,Analyst,11/20/1998 EC012,Jackson Cook,CSG,Manager,06/07/1998 EQ002,Sara Duncan,QSG,Analyst,03/30/1999
2.?导出到CSV文件
例3.36:将数据集saslib.employee中的文件导出到CSV文件。
代码如下:
proc export data=saslib.employee outfile="C:\SAS\data\employee.csv" dbms=csv;
DBMS为CSV会默认使用逗号分隔所生成文件中的各个列。该代码所生成的文件内容与上例相同,这里不再给出。
还可以将上面代码中的DBMS=指定为“TAB”,这时会生成各个列之间由制表符分隔的文件。
3.?使用数据集选项导出部分数据
在PROC EXPORT中还可以使用数据集选项导出部分变量或部分观测。
例3.37:仅将所有员工的姓名、所在部门和入职日期导出到CSV文件。因为数据集saslib. Employee中还包含其他变量,所以使用数据集选项KEEP=指定要导出的变量。代码如下:
proc export data=saslib.employee (keep=Name Dept Entry_Date) outfile=C:\SAS\data\employee.csv dbms=csv replace;
导出的文件部分内容如下:
Emp_ID,Emp_Name,Entry_Date ED003,Benjamin Leslie,04/26/1993 EC003,Thomos Oliver,08/01/1998 EC011,Adam Scott,11/20/1998 EC012,Jackson Cook,06/07/1998 EQ002,Sara Duncan,03/30/1999
例3.38:将DSG部门的所有员工信息导出到CSV文件中。
代码如下:
proc export data=saslib.employee (where=(Dept="DSG")) outfile=c:\sas\data\dsg.csv dbms=csv replace;
使用数据集选项WHERE=指定导出满足条件的观测。所导出的文件的部分内容如下:
Emp_ID,Emp_Name,Dept,Title,Entry_Date ED003,Benjamin Leslie,DSG,Senior Manager,04/26/1993 ED013,Alexandra May,DSG,Manager,04/11/2000 ED004,Christian Peters,DSG,Senior Analyst,05/18/2001 ED011,Hunter Joyce,DSG,Analyst,08/13/2001 ED005,Jasmine Rose,DSG,Senior Analyst,11/15/2003
4.?导出到Microsoft Excel文件
例3.39:将数据集saslib.employee中的文件导出到Microsoft Excel文件。
代码如下:
proc export data=saslib.employee outfile="C:\SAS\data\employee.xlsx " dbms=xlsx ;
所生成的Microsoft Excel文件打开如图3.40所示。
《深入解析sas:数据处理、分析优化与商业应用》一导读 数据和模型描述着世界,而SAS恰恰就是关于数据和模型的技术。SAS技术在全球的数据处理和分析领域举足轻重。在国内,SAS的应用日趋广泛,自然,对掌握SAS技术的人才需求也日益旺盛。
《深入解析sas:数据处理、分析优化与商业应用》一2.6 本章小结 本节书摘来自华章出版社《高并发Oracle数据库系统的架构与设计》一书中的第2章,第2.6节,作者 侯松,更多章节内容可以访问云栖社区“华章计算机”公众号查看 2.6 本章小结 本章首先介绍了SAS编程的基本概念,具体包括SAS逻辑库、SAS数据集、SAS数据集管理、系统选项以及SAS程序结构
《深入解析sas:数据处理、分析优化与商业应用》一第3章 对单个数据集的处理 本节书摘来自华章出版社《高并发Oracle数据库系统的架构与设计》一书中的第3章,第3.1节,作者 侯松,更多章节内容可以访问云栖社区“华章计算机”公众号查看 第3章 对单个数据集的处理 在DATA步中可以使用SET、MERGE、MODIFY或UPDATE语句对数据集进行加工处理。
《深入解析sas:数据处理、分析优化与商业应用》一一2.3 通过IMPORT过程读取外部文件数据 本节书摘来自华章出版社《高并发Oracle数据库系统的架构与设计》一书中的第2章,第2.3节,作者 侯松,更多章节内容可以访问云栖社区“华章计算机”公众号查看 2.3 通过IMPORT过程读取外部文件数据 除了可以通过DATA步读取外部文本文件数据外,SAS还提供了IMPORT过程,通过它可以从外部数据源读取数据并写入SAS数据集中。
相关文章
- 分批读取大文件
- html5 如何打包成apk,将H5封装成android应用APK文件的几种方法
- [转] HTML5应用之文件上传
- sql server文件另存为的时候,选择文件编码和换行
- .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了 [WPF]为旧版本的应用添加触控支持 js css等静态文件版本控制,一处配置多处更新.net版【原创】 C#图片处理,缩略图制作 SqlDataReader 结果集 转成 DataTable DataTable转成List集合 如何使用linq读取DataTable集合?
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
- [转] eclipse SVN中文件修改后图标不变黑星解决
- JavaDemo——自定义类加载器加载class文件
- Vue-cli / webpack 加载静态js文件的方法
- 二进制文件分析工具-hexdump使用指南
- 【快应用】快应用如何打开手机中的html文件
- 《开源硬件创客——15个酷应用玩转树莓派》——6.1文件云储存
- 《Python和HDF 5大数据应用》——2.4 你的第一个HDF5文件
- Python 文件的读写操作
- Qt数据库应用22-文件编码格式识别
- Qt数据库应用20-csv文件转xls
- Linux运维之批量下载指定网站的100个图片文件,并找出大于200KB的文件
- TCP文件上传实现
- Web应用中的普通java程序获取资源文件
- 浅析实际场景如何应用缓存策略:项目中什么文件用强缓存什么文件用协商缓存
- 浅析ProgressEvent接口及其应用:上传文件进度事件
- 【HarmonyOS】ArkTS Native开发——使用 system函数创建文件
- c++/c语言编译之后的exe文件应该如何运行-解决方法(实现应用)
- Python 基础 之 多任务 Process 进程应用的简单案例,简单实现文件夹文件拷贝(进程池,进程池队列等)
- IOS应用沙盒文件操作
- [Work Summary] 远程FTP下载文件到本地目录