
2.3 导入其他格式的数据文件
通过本节的学习,读者可以将不同格式的数据导入到SAS中以便做后续的处理。
2.3.1 商业背景
做数据分析时有很多数据来自其他软件,通过其他格式存储,如TXT、XLS格式,在用SAS EG处理前,必须先将这些格式的数据导入到SAS中。
2.3.2 SAS相关功能介绍
SAS EG对外部数据的导入按照格式主要分两种:
一是通过“文件→导入数据”命令,支持的格式有XLS、ACCDB、TXT等。
二是通过“任务→数据→导入”命令,支持的格式有JMP、SPSS、STATA等。
导入注意事项
〈1〉导入的数据尽量设置为第一行是变量名字,第二行是数据,并且变量名字符合SAS的命名规范。
〈2〉每一列的格式一致,数值型或字符型,对于混合类型的数据SAS默认会选择前20个数据来判断,根据多数原则判断其所属于的数据类型。SAS EG可以修改变量的类型。
〈3〉不要打开正在导入的文件,避免写入错误。
〈4〉资料必须以行为观测,以列为变量;尽量调整数据从左上方的A1单元格开始读入数据;工作表名称、变量名称建议不要使用中文或者特殊字符。
2.3.3 EG菜单解决方案
下面以导入一个Excel文件为例来讲解导入过程中各选项的设置。
Step1选择数据类型为“Excel工作簿”,可以单击“浏览”选择文件导入之后存放的逻辑库和文件名。本例中存放在WORK下,命名为CLASS,如图2-17所示。

图2-17
Step2选择要导入的工作表,若导入的数据中含有多个Sheet则需要指定具体的Sheet,若工作表不是从A1单元格开始的,则需要选择“使用工作表中特定范围内的单元格”,指定数据的存放范围。按照数据的情况选择源数据是否首行范围内包含字段名称。若不选择,则SAS会以默认的F1、F2命名,如图2-18所示。

图2-18
Step3单击“下一步”按钮,看SAS EG对变量的认定是否与源数据一致,若不一致,选中该行变量,单击右下方的“修改”按钮,可以选择导入的数据集中是否包含此变量,并对变量的名称、标签、类型、输入和输出格式进行修改,如图2-19所示。

图2-19
Step4单击“下一步”按钮,打开如图2-20所示界面。若选择“在生成的SAS代码中嵌入数据”选项,则输出中包括的SAS程序可供重复运行或与其他用户共享;“尽可能使用SAS/ACCESS Interface to PC Files导入数据”复选框表示要使用import导入数据,若不选中该选项,将使用DATA步导入数据;要删除会导致传输错误的任何字符,请选中“从基于文本的数据文件中删除会导致传输错误的字符”复选框。若导入的文件中包含服务器所不支持的语言/区域的字符,则可能要选择该选项。例如,若导入的Microsoft Excel文件包含日语字符,因为服务器的语言/区域为法语,某些日语字符将无法识别。若导入的是文本文件,且要在存储过程中包括用于导入该文本文件的代码,请选择生成在SAS Enterprise Guide外运行的导入步骤。当运行存储过程时,若服务器可访问原始的文本文件,则不会生成临时的文本文件。在“导入”任务中指定的分隔符会用在生成的SAS代码中。

图2-20
2.3.4 SAS程序实现
〈1〉读入Excel格式的数据

〈2〉读入TXT格式的数据

PROC IMPORT的语法解读

具体方法解读如下。

常用DBMS引擎介绍。

常用引擎的特定相关数据选项。

续表

2.3.5 SPSS菜单解决方案
SPSS可以通过“文件→打开”来导入外部数据,SPSS可以支持Excel格式、SAS格式、TXT格式、DAT格式等。下面以SPSS读入Excel文件为例,说明读入外部文件的相关步骤和设置。
Step1单击“文件→打开→数据”命令,在弹出的对话框中,在文件类型中选择Excel文件,如图2-21所示,选择CLASS.xls。

图2-21
Step1单击“打开”按钮,弹出“打开的Excel数据源”对话框,如图2-22所示。
● “从第一行数据读取变量名”复选框:选择是否将Excel表的第一行设定为变量名,系统默认选择。如若不选,则系统将默认生成V1、V2等变量名。
● “工作表”:指定读取Excel中的表单名,默认为Sheet1,如果你导入的数据文件位于Sheet2,则单击下拉菜单选择。
● “范围”:指定读取的数据矩形区域,如B2:C10。
● “字符串列的最大宽度”:指定单个单元格最大能容纳的字符数量,系统默认为32KB。

图2-22