登录
首页精彩阅读SPSS读取EXCEL格式文件数据_数据分析师考试
SPSS读取EXCEL格式文件数据_数据分析师考试
2015-07-27
收藏

SPSS读取EXCEL格式文件数据_数据分析师考试


SPSS作为一款数据分析软件,其实并不适合作数据录入。目前,多数市场调研公司都使用EpiData软件作问卷录入,然后再将录入结果导入SPSS中,而对于互联网公司而言,更多的是使用数据库或.CSV格式文件,SPSS默认读取的文件类型有11种,本篇先从读取EXCEL格式文件说起。
 
GUI操作向导方式读取
 
SPSS读取EXCEL格式文件采用向导的方式操作非常简单,文件—打开—数据—EXCEL数据文件格式类型等,向导操作唯一值得注意的地方是表格与范围的选择以及是否从EXCEL表首行读取变量名。向导读取EXCEL文件的界面流程参见下图:
 
 
语法方式读取
利用Syntax语句从EXCEL中读取数据并没有太多的技巧,数据读取过程可以简单的分为2类,一类是读取单表数据,另一类则是读取多表数据(与从数据库中读取数据语法类似,只是/CONNECT语句稍有不同)。这里主要说说怎样利用syntax语法从单表中读取数据,例如:从我的文档中读取名叫data的EXCEL工作薄中表salary的[A3:H160]的数据,且将读取数据的第一行作为变量名,其Syntax代码如下::
get data ①
/type=xls ②
/file="C:/mydocuments/data.xls". ③
/sheet=name 'salary' ④
/cellrange=range 'A3:H160' ⑤
/readnames=on. ⑥
 
注解:
***①告诉SPSS,你的目的—得到数据(get data)***.
***②读的数据是什么类型(.xls or .xlsx or .xlsm)***.
***③告诉SPSS文档的位置***.
***④告诉SPSS你要读取那个表(缺失时自动读取第一个表)***.
***⑤告诉SPSS你要读取表中那些数据,如果是全部数据则cellrange=fulll***. 
***⑥将读取数据的第一行设置为变量名***.
 
值得注意的是,上面语句中的④⑤⑥三个子语句都可省略,省略后SPSS将从工作薄中第一个表读取所有数据,并将第一行默认为变量名,如果第一行为空,变量名则默认为V1,V2……,这一过程和利用菜单向导操作效果一样。
如何一次读取多个EXCEL工作表内容?
上面简单的用语法介绍了如何读取单张EXCEL表的数据,如果要读取多张EXCEL表单的数据又该如何操作呢?(注:这里的多个EXCEL表格必须在同一个工作薄中),其原理其实是将一个EXCEL工作薄当作一个数据库,然后利用数据库读取的方式读取,关于SPSS如何从数据库中读取文件以后再详细介绍,这里可以先看看如下范例: 
 GETDATA
/TYPE=ODBC
/CONNECT=
'DSN=ExcelFiles;DBQ=c:\examples\data\sales.xls;' +
'DriverId=790;MaxBufferSize=2048;PageTimeout=5;'
/SQL =
'SELECTLocation$.[Store Number], State, Region, City,'
' Power,Hand, Accessories,'
' Tires,Batteries, Gizmos, Dohickeys'
' FROM[Location$], [Tools$], [Auto$]'
' WHERE[Tools$].[Store Number]=[Location$].[Store Number]'
' AND[Auto$].[Store Number]=[Location$].[Store Number]'.  
上面的代码和从数据库中读取表数据完全一样,只是在/CONNECT语句上做了些许变化,其他的并无区别,当然重点还是后面的提取数据变量语句/SQL,这里要说明的是如果提取变量字符中含有空格的话就需要用[ ]给框起来了,正如上面示例代码所示。 
另外,不得不提的是从多表中读取数据较从单表中读取数据的一些局限性,比如不能像单表一样随意选择数据读取范围;读取表中的第一行非空字符都将强制读取为SPSS中的变量;变量类型较单一,只提供了数字和字符两种数据类型等等。
TIPs:不管采用何种方式读取EXCEL文件,一定要注意变量格式问题。

数据分析咨询请扫描二维码

客服在线
立即咨询