原文链接:http://tecdat.cn/?p=5211

原文出处:拓端数据部落公众号

电子表格不是数据库。但是,我们中的许多人使用电子表格就好像它们是数据库一样,然后当电子表格布局不支持数据库样式严格的可预测行,列和变量类型时,我们就会挣扎 - 这是分析和报告所需的基本元素。如果您使用SAS从Microsoft Excel读取数据,当您需要的数据不是从单元格A1开始时,您可以做什么?

通过设计,SAS可以从电子表格中的任何单元格范围读取数据。在本文中,我将介绍如何在PROC IMPORT中使用RANGE语句来获取所需的数据。

对于SAS 9.4及更高版本,SAS建议使用DBMS = XLSX以获得最大的灵活性。它适用于所有操作系统,无需其他组件,如PC文件服务器。您的Excel文件必须采用Excel 2007或更高版本格式(XLSX)。你这样做需要SAS / ACCESS到PC文件的许可证。(刚刚学习?这些DBMS = XLSX技术也适用于SAS大学版。)

如果您的Excel数据不是从单元格A1(导入过程的默认起点)开始,那么您可以添加包含特定单元格的RANGE =值。最简单的方法是在Excel中使用命名范围来定义数据的确切边界。

如何添加命名范围

要在Excel中定义命名范围,请突出显示要包括的单元格范围,然后只需在“名称框”中键入范围的新名称:

然后保存Excel文件。

然后要导入SAS,请在RANGE =选项中指定范围名称:

proc importdatafile="/myprojects/myfile.xlsx"out=mydatareplace;range="myspecialrange";run;

对单元格区域使用Excel表示

如果您不提前知道范围怎么办?您可以使用PROC IMPORT读取整个工作表,但结果将不包含所需的列标题和类型。考虑这样一张表:

这段代码会读它:

proc importdatafile="/myprojects/middle.xlsx"out=mid dbms=xlsxreplace;run;

但结果将包含许多空单元格,并且值将作为所有字符类型读取:

通过附加编码,您可以使用DATA步骤将此结果“修复”到另一个传递中。或者,如果您愿意为特定单元格区域添加带有Excel表示法的RANGE选项,则可以在第一遍中正确阅读:

proc importdatafile="/myprojects/middle.xlsx"out=mid dbms=xlsxreplace;range="Sheet1$E7:K17";run;

如何“发现”Excel文件的结构

您还可以使用LIBNAME XLSX从Excel中读取整个工作表,或者只是作为发现步骤在运行PROC IMPORT之前查看Excel文件包含的工作表。但是,LIBNAME XLSX不显示Excel命名范围。

在SAS for Windows系统上,您可以使用LIBNAME EXCEL(32位)或LIBNAME PCFILES(64位)来显示有关Excel文件的更多信息。

libnamed pcfiles path="c:\myprojects\middle.xlsx";proc datasetslib=d;quit;/* always clear the libname, as it locks the file */libnamed clear;

请注意,DBMS = XLSX不支持我们在旧版DBMS = XLS(仅支持旧格式XLS文件)中看到的一些选项,例如STARTROW和NAMEROW。DBMS = XLSX支持GETNAMES(将工作表或范围的第一个记录视为变量名称)。

拓端tecdat|如何使用SAS从Excel中读取一系列单元格相关推荐

  1. 计算机考试单元格,计算机等级考试技巧在Excel中如何对单元格进行设置?

    问:计算机等级考试技巧在Excel中如何对单元格进行设置? 考无忧小编解答: 步骤一:选中要设置的单元格,右击,出现下图对话框. 步骤二:点"设置单元格格式"功能,出现下图对话框, ...

  2. C# 获取Excel中的合并单元格

    C# 获取Excel中的合并单元格 我们在制作表格时,有时经常需要合并及取消合并一些单元格.在取消合并单元格时需要逐个查找及取消,比较麻烦.这里分享一个简单的方法来识别Excel中的合并单元格,识别这 ...

  3. C#/VB.NET 复制Excel中的指定单元格区域

    本文介绍C#及VB.NET程序代码来复制Excel中的指定单元格区域,包括复制单元格文本及单元格样式.复制时,可在工作簿中的同一个sheet工作表内复制,也可在不同工作簿的不同sheet工作表间复制. ...

  4. 怎么在html的表格中加筛选,excel中表头合并单元格的筛选

    EXCEL中表头合并,怎么实现筛选数据? 亲,如下面的动画演示,选中第5行,点击菜单"数据","筛驯. excel中有合并单元格的行怎么才能筛选整个表格其中 直接对合并过 ...

  5. Java读取Excel中的合并单元格

    本文以Java示例展示读取Excel中的合并单元格的方法. 1. Maven仓库下载导入 在pom.xml中配置maven路径,指定依赖,如下: <dependency><group ...

  6. excel 单元格如何获取textbox中的值 java,把excel表格数据定义为文本框-excel中如何将单元格里的数值显示在文本框(textbox)里...

    excel中如何将单元格里的数值显示在文本框(textbox)里 sheets("Sheet2").range("b3")=textbox ---------- ...

  7. python 拆分excel单元格_Python怎么在Excel中把一个单元格里的内容拆分提取?:excel表格已拆分的数据提取...

    Python怎么在Excel中把一个单元格里的内容拆分提取? 有规律的话写代码可以处理,没有就没有办法 如何将EXCEL表中的数据分离出来? 如图,B1输入:=LEFT(A1,FIND("排 ...

  8. java 单元格内容加粗,excle单元格如何加粗《EXCEL中怎么对单元格中,公式的部分字段加粗?》...

    问下EXCEL表格分割线怎么加粗 单元格样式设置包含分割线加粗. Excel表格单元格线样式操作如下: ①框选单元格--右击--设置单元格 ②弹出"设置单元格式"--边框--根据实 ...

  9. EXCEL中设置后面单元格的数据由前面单元格的数据带出

    EXCEL中设置后面单元格的数据由前面单元格的数据带出 1:新建一个基础数据 2:在[基础数据]中建立基础数据 3:新建一个sheet命令为[操作],并在第一列单位格设置为序列,序列的基础数据在[基础 ...

  10. java poi设置单元格格式为数值,Apache POI 如何读取Excel中数值类型单元格所规定的保留小数位?...

    问题描述 java apache poi 包内是否有方法可以获取Excel数值类型单元格中保留的位数? 问题出现的环境背景及自己尝试过哪些方法 有这么一个场景: 需求:从Excel文件中读取数据,原样 ...

最新文章

  1. matlab文档型数据导入,MATLAB-数据导入
  2. MongoDB数据库(二:高级操作)
  3. JSTL fmt标签格式化日期时分秒显示为00:00:00和12:00:00问题
  4. 一个失败的操作系统MULTICS
  5. hadoop的hdfs文件操作实现上传文件到hdfs
  6. mysql查询时给字段加内容,mysql数据库查询之对应库对应表中的注释信息查询以及加字段查询...
  7. 【转】windows 7系统安装与配置Tomcat服务器环境
  8. android 获取sd卡目录失败_获取sd卡存储路径失败
  9. 用python写一个程序来验证每个数字的生成概率是否相同_Python实现简单生成验证码功能【基于random模块】...
  10. python graphviz_Python中Graphviz的输出问题
  11. ktv娱乐收银系统java_美萍餐饮娱乐管理系统(歌厅管理软件,管理软件,收银系统,管理系统,娱乐收银软件)...
  12. Tomact运行不起来,打开startup.bat 一闪而过
  13. 简单好用的钉钉群消息助手
  14. 编辑视频贴纸软件_3招教你搞定怎么在视频上加贴纸,剪片必备的手机App!
  15. 基于JavaEE的开放平台出租车系统_JSP网站设计_MySQL数据库设计
  16. [Codeforces Round #516][Codeforces 1063C/1064E. Dwarves, Hats and Extrasensory Abilities]
  17. allegro标注尺寸设置_Allegro中尺寸标注参数的设置-EDA/PCB-与非网
  18. c语言涛涛,首批国家级一流本科课程!国科大这些“金课”入选啦
  19. 【概率论】3-6:条件分布(Conditional Distributions Part II)
  20. Robust Document Image Dewarping Method Using Text-Lines and Line Segments论文学习笔记

热门文章

  1. How to build .apk file from command line
  2. 「陶哲軒實分析」 習題 3.4.4
  3. ADO.NET的DataAdapter对象的方法
  4. 微软2012年突破重围 主攻Windows Phone
  5. 《Java程序员,上班那点事儿》征文活动获奖名单
  6. 鲇鱼效应”也有副作用
  7. vscode使用:tab键插入空格而不是tab
  8. java使用poi读取word(简单,简约,直观)
  9. 自动化测试===Macaca环境搭建,自我总结
  10. Robot framework之元素定位实战