《深入解析sas:数据处理、分析优化与商业应用》一3.6 将数据集写出到外部文件

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介:

本节书摘来自华章出版社《深入解析sas:数据处理、分析优化与商业应用》一书中的第3章,第3.6节,作者 夏坤庄 徐唯 潘红莲 林建伟,更多章节内容可以访问云栖社区“华章计算机”公众号查看

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=数据源标识符
    ;
RUN;

其中:
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中所示的参数。
image

例3.35:将公司员工信息导出到文件中,文件各列使用逗号(,)分隔。
代码如下:

proc export
    data=saslib.employee
    outfile='C:\SAS\data\employee.dat'
    dbms=dlm
    replace;
    delimiter=',';
    putnames=no;
run;

所导出的文件的部分内容如下:

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;
run;

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;
run;

导出的文件部分内容如下:

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;
run;

使用数据集选项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 ;
run;

所生成的Microsoft Excel文件打开如图3.40所示。
image

相关文章
|
11天前
|
缓存 Kubernetes Docker
GitLab Runner 全面解析:Kubernetes 环境下的应用
GitLab Runner 是 GitLab CI/CD 的核心组件,负责执行由 `.gitlab-ci.yml` 定义的任务。它支持多种执行方式(如 Shell、Docker、Kubernetes),可在不同环境中运行作业。本文详细介绍了 GitLab Runner 的基本概念、功能特点及使用方法,重点探讨了流水线缓存(以 Python 项目为例)和构建镜像的应用,特别是在 Kubernetes 环境中的配置与优化。通过合理配置缓存和镜像构建,能够显著提升 CI/CD 流水线的效率和可靠性,助力开发团队实现持续集成与交付的目标。
|
1月前
|
SQL 关系型数据库 MySQL
深入解析MySQL的EXPLAIN:指标详解与索引优化
MySQL 中的 `EXPLAIN` 语句用于分析和优化 SQL 查询,帮助你了解查询优化器的执行计划。本文详细介绍了 `EXPLAIN` 输出的各项指标,如 `id`、`select_type`、`table`、`type`、`key` 等,并提供了如何利用这些指标优化索引结构和 SQL 语句的具体方法。通过实战案例,展示了如何通过创建合适索引和调整查询语句来提升查询性能。
174 9
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术深度解析:从基础到应用的全面介绍
人工智能(AI)技术的迅猛发展,正在深刻改变着我们的生活和工作方式。从自然语言处理(NLP)到机器学习,从神经网络到大型语言模型(LLM),AI技术的每一次进步都带来了前所未有的机遇和挑战。本文将从背景、历史、业务场景、Python代码示例、流程图以及如何上手等多个方面,对AI技术中的关键组件进行深度解析,为读者呈现一个全面而深入的AI技术世界。
144 10
|
20天前
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
93 9
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
8天前
|
供应链 搜索推荐 API
深度解析1688 API对电商的影响与实战应用
在全球电子商务迅猛发展的背景下,1688作为知名的B2B电商平台,为中小企业提供商品批发、分销、供应链管理等一站式服务,并通过开放的API接口,为开发者和电商企业提供数据资源和功能支持。本文将深入解析1688 API的功能(如商品搜索、详情、订单管理等)、应用场景(如商品展示、搜索优化、交易管理和用户行为分析)、收益分析(如流量增长、销售提升、库存优化和成本降低)及实际案例,帮助电商从业者提升运营效率和商业收益。
77 17
|
24天前
|
安全 API 数据安全/隐私保护
速卖通AliExpress商品详情API接口深度解析与实战应用
速卖通(AliExpress)作为全球化电商的重要平台,提供了丰富的商品资源和便捷的购物体验。为了提升用户体验和优化商品管理,速卖通开放了API接口,其中商品详情API尤为关键。本文介绍如何获取API密钥、调用商品详情API接口,并处理API响应数据,帮助开发者和商家高效利用这些工具。通过合理规划API调用策略和确保合法合规使用,开发者可以更好地获取商品信息,优化管理和营销策略。
|
1月前
|
机器学习/深度学习 人工智能 PyTorch
Transformer模型变长序列优化:解析PyTorch上的FlashAttention2与xFormers
本文探讨了Transformer模型中变长输入序列的优化策略,旨在解决深度学习中常见的计算效率问题。文章首先介绍了批处理变长输入的技术挑战,特别是填充方法导致的资源浪费。随后,提出了多种优化技术,包括动态填充、PyTorch NestedTensors、FlashAttention2和XFormers的memory_efficient_attention。这些技术通过减少冗余计算、优化内存管理和改进计算模式,显著提升了模型的性能。实验结果显示,使用FlashAttention2和无填充策略的组合可以将步骤时间减少至323毫秒,相比未优化版本提升了约2.5倍。
72 3
Transformer模型变长序列优化:解析PyTorch上的FlashAttention2与xFormers
|
5天前
|
人工智能 供应链 搜索推荐
中国CRM市场深度分析:主流供应商排名与特点解析
随着中国企业数字化转型的深入,CRM(客户关系管理)软件市场迅速发展,形成了多个优秀解决方案提供商。销售易、纷享销客、明源云客、金蝶云之家、简道云、红圈营销和爱客CRM等供应商各具特色。销售易在大型企业市场表现突出,提供全链路营销销售一体化及强大的AI能力;纷享销客以易用性和高性价比著称,适合中小企业;明源云客专注房地产行业,提供全流程解决方案;金蝶云之家与ERP系统深度整合,适合传统制造业;简道云是低代码平台,灵活性高;红圈营销专注零售业,支持全渠道营销;爱客CRM则主打智能营销功能。企业在选择CRM时需综合考虑实施难度、价格定位、技术支持等因素,并结合自身需求进行试用和调研,确保选择最适合
|
1月前
|
前端开发 UED
React 文本区域组件 Textarea:深入解析与优化
本文介绍了 React 中 Textarea 组件的基础用法、常见问题及优化方法,包括状态绑定、初始值设置、样式自定义、性能优化和跨浏览器兼容性处理,并提供了代码案例。
71 8
|
2月前
|
存储 监控 API
深入解析微服务架构及其在现代应用中的实践
深入解析微服务架构及其在现代应用中的实践
84 12

热门文章

最新文章

推荐镜像

更多