1 功能描述
数据读写是数据分析的重要步骤,数据读取是进行数据分析的第一步,在完成数据分析后则需要将数据导出到其他数据文件。在SPSS Modeler中数据的读写非常简单。我们甚至可以通过SPSS Modeler的读写功能来将一种格式的数据文件转换为另一种格式的数据文件。
SPSS Modeler中数据读取的所有节点均在“源”选项卡下面,支持txt,excel,SPSS格式数据,SAS格式数据等多种格式数据的导入。
SPSS Modeler中数据导出的所有节点均在“输出”选项卡下面,支持txt,excel,SPSS格式数据,SAS格式、等多种格式数据的导出。
2 数据读取
这里演示几种常用格式的数据读取
2.1 读取txt格式数据
将“源”选项卡下面的可变文件节点添加到流编辑区域
双击可变文件节点将其打开;
选择需要导入的DRUG.txt数据文件的存放路径;如果DRUG.txt数据文件第一行是文件名,则需要勾选“读取文件中的字段名”。
txt文件读取中,最主要的选项是左下方的定界符,即DRUG.txt数据文件中数据是通过什么符号来分割的。这里数据中是用逗号来分割的,同时每行记录一条样本,所以在定界符中勾选“逗号”和“新行”。
配置好可变文件的参数后,将“输出”选项卡下面的表节点添加到数据流中
双击表节点将其打开,再点击下方的运行按钮
发现DRUG.txt文件中的数据已经读取到表节点中,表明数据读取成功。
2.2 读取excel格式数据
将“源”选项卡下面的Excel节点添加到流编辑区域
双击Excel节点将其打开;
由于Excel文件有2003和2007两种格式,本例中DRUG.xls属于2003格式,所以需要在文件类型中选择“97-2003”;
选择DRUG.xls文件的存放路径
Excel文件中可能有多张表,可以按索引或按名称来选择工作表,按索引的话0表示第一张表,1表示第二张表;按名称的话直接选择对应的表名称即可(如Sheet1)。这里采用按索引方式,由于DRUG.xls中只有一张表,所以索引号为0
工作表范围一般选择“范围从第一个非空行开始”即可;
如果数据文件中第一行为变量名,则需要勾选“第一行存在列名称”。
配置好Excel节点的参数后,将“输出”选项卡下面的表节点添加到数据流中,运行查看是否能成功读取数据,这里不再演示。
2.3 读取SPSS格式数据
将“源”选项卡下面的Statistics节点添加到流编辑区域
双击Statistics节点将其打开;
选择DRUG.sav文件的存放路径,即可完成导入的参数设置。
配置好Statistics节点的参数后,将“输出”选项卡下面的表节点添加到数据流中,运行查看是否能成功读取数据,这里不再演示。
2.4 读取数据库中的数据
读取数据库中的数据相对来说较为麻烦,因为数据库属于一种系统服务,需要将数据库添加到操作系统的服务中,SPSS Modeler软件才能访问。
数据库的种类有很多,Mysql数据库、Oracle数据库等。这里我们用Office自带的access数据库来进行演示,Access数据库非常简单,可以直观的看到数据库的文件和数据库中的表。对于其他数据库,基本操作步骤大同小异。
(1)将DRUG.mdb数据库添加到操作系统的服务中
这里演示的是Windows系统。首先进入控制面板,双击打开管理工具。
双击打开“ODBC Data Sources(32-bit)”。
在“ODBC Data Sources(32-bit)”窗口中,点击添加按钮。
在“创建新数据源”窗口中选中“Microsoft Access Driver(*.mdb)”,然后点击完成。
在ODBC Microsoft Access安装窗口中,数据源名中“drug”(数据源名称可以随便起);
点击选择按钮,来选择DRUG.mdb数据文件的存放位置。
在“选择数据库”窗口中,首先在右侧选择DRUG.mdb数据文件的存放路径,然后再左侧窗口选中DRUG.mdb数据库文件,点击确定按钮。
选择好DRUG.mdb数据文件的存放位置后,回到“ODBC Microsoft Access安装”窗口,点击确定完成数据库的服务添加。
(2) 将数据库中的数据导入SPSS Modeler
将“源”选项卡下面的数据库节点添加到流编辑区域
在数据源中,点击“添加新数据库连接”;
在“数据库连接”窗口中,选择drug(刚才我们起的数据源名称),然后点击连接按钮进行连接。
点击表名称中的选择按钮
选择表/视图下的“drug”(该drug为drug数据库中数据表的名称),点击确定。
配置好数据库节点的参数后,将“输出”选项卡下面的表节点添加到数据流中,运行查看是否能成功读取数据,这里不再演示。
3 数据导出
数据导出是将SPSS Modeler中的数据导出为其他格式的数据文件。首先,我们将SPSS格式的数据文件Telephone.sav读取到SPSS Modeler中,然后再将其导出为txt、Excel等数据文件。
将“源”选项卡下面的Statistics节点添加到流编辑区域
双击Statistics节点将其打开,选择Telephone.sav数据文件的存放路径,点击确定按钮。
配置好数据库节点的参数后,将“输出”选项卡下面的表节点添加到数据流中,运行查看是否能成功读取数据,这里不再演示。
将“字段选项”选项卡下面的类型节点连接到数据流中,
双击类型节点将其打开,然后点击读取按钮,将数据读取到SPSS Modeler中(没有这一步则无法完成后面的导出任务)。
3.1 导出为txt格式数据
将“导出”选项卡下面的平面文件节点添加到数据流中。
双击平面文件节点将其打开;
选择需要导出的路径其导出的文件名(如果不选择导出路径,则会导出到SPSS Modeler的安装路径下面);
写入模型中选择覆盖;
字段分隔符中选择逗号,当然也可以在其他中输入自定义的符号。
完成参数设置后,点击运行即可开始数据导出。
如果没有提示出错,则可以到刚才设定的路径下面查看是否已经成功导出数据。
3.2 导出为excel格式数据
将“导出”选项卡下面的Excel节点添加到数据流中。
双击Excel节点将其打开;
选择需要导出的路径其导出的文件名(如果不选择导出路径,则会导出到SPSS Modeler的安装路径下面);
选择需要Excel的版本类型(这里选择2007,即导出文件的后缀名是xlsx);
完成参数设置后,点击运行即可开始数据导出。
如果没有提示出错,则可以到刚才设定的路径下面查看是否已经成功导出数据。
3.3 导出到数据库中
说明:在导入数据部分,我们已经将drug数据库添加到了操作系统的服务中,所以这里我们直接把Telephone的数据导入到drug数据库中的一张表。
将“导出”选项卡下面的数据库节点添加到数据流中。
双击数据库节点将其打开;
在数据源中选择前面添加过的数据源:drug
在表名称中输入:Telephone;
选择“创建表”选项;
完成参数设置后,点击运行即可开始数据导出。
导出完成后,可以打开drug.mdb数据库文件,可以发现里面现在有两种表,一张是之前原有的drug表,另一张是我们刚导出的Telephone。