SPSS导入Excel工作簿中的一张数据表和多数据表
SPSS能读入Excel工作簿中的一张数据表和多张数据表。读入Excel 文件的基本技巧就是直接读取——行当作个案,列当作变量。然而,读入典型的Excel数据表——数据不是从第一行和第一列开始——需要一点额外的工作,读入多张数据表需要按照数据库的方式来处
理Excel数据表。上面两种情况,能使用 GET DATA 命令将数据读入到SPSS中。
?
当读入一张数据表时,SPSS读取数据表的矩形区域,该区域必须与数据有关。区域的第一
行可以或不用包含变量名(取决于你的设定),剩余的区域必须包含要读入的数据。然而,
典型的数据表可以包含标题和不适合SPSS数据文件的其它信息,如果不明确指定所读单元
的范围可能导致所读数据不正确。
示图 3-4 典型Excel数据表
读入去掉行标题和行列总计的数据表:(译者注:)这个过程由向导自动生成没有必要自己去敲键盘)
*readexcel.sps.
GET DATA
/TYPE=XLS
/FILE='c:\examples\data\sales.xls'
/SHEET=NAME 'Gross Revenue'
? TYPE子命令识别Excel文件类型,版本5或以后的。(较早的版本使用 GET /CELLRANGE=RANGE 'A2:I15'
/READNAMES=on . TRANSLATE。)
? SHEET子命令识别所读工作薄的数据表。除了NAME关键字,能使用INDEX 关键字和整数值识别工作薄中数据表的位置。没有这个子命令,只能读入第一个数据表。 ? CELLRANGE子命令表示SPSS应该从第A列第2行开始读入数据,到第I列第
15行为止。
? READNAMES子命令表示指定区域的第一行包含列标签作为变量名。
示图3-5 Excel 数据表读入到 SPSS中
? 因为变量名不能包含空格,所以Excel列标签Store Number是自动转换为SPSS变量名
Store_Number。原列标签作为变量标签保留。
? 只要可能,Excel中原数据类型都应被保留,但是因为数据类型是由Excel单元格水平和SPSS列
(变量)水平确定的,这并不总是可能的。
? 在相同的列中遇到混合数据类型,变量被指定为字符串数据类型。本例中Toys变量被定义为字符
串类型。
子命令告诉SPSS处理数据表的第一行,要么按照变量名(ON) 要么按照数据(OFF)定义范围。因
为预设设置是ON,即使不被指定,子命令总是影响数据表的读入方式。
? (或没有这个子命令), 如果第一行包含数据而不是列标题,SPSS将按照变量名来处理第一行而不是按照数据处理;包括文字和数字的值将用于建立变量名;要指定预设变量名,数字值被忽
略。
? ,事实上如果第一行包含列标题和其它文字和数字文本,那么这些列标题将按照数据
值读入,所有变量指定为字符串数据类型。
?
Excel文件(工作薄)能包含多张数据表,能够在同一工作薄中读取多张数据表,像处理数据库一样处理
Excel文件。这需要ODBC驱动程序。
示图 3-6 同一工作薄中多张数据表
当读入多张数据表时,失去一些相对于读入一张数据表的便捷性:
? 不能指定单元格范围。
? 数据表的第一个非空行包含变量名的列标签。
? 只有基本数据类型—字符串和数字—能被保存,字符串变量可以设置为任意长度。(第四章“改变字符串变量的定义宽度”中提供一种方法,按照最长观测字符串值的长度自动调整字符串变量的长度。)
本例中,第一张数据表包含商店位置信息,第二张和第三张包含各个部门信息。三个数据表都包含一列, Store Number, 它惟一识别每个商店,所以三张数据表中的信息能被正确的合并,不用管数据表中商店位
置的次序。
*readexcel2.sps.
GET DATA
/TYPE=ODBC
/CONNECT=
'DSN=Excel Files;DBQ=c:\examples\data\sales.xls;' +
'DriverId=790;MaxBufferSize=2048;PageTimeout=5;'
/SQL =
'SELECT Location$.[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字符串。
? 声明指定从数据表读入的列数,用列标题来识别。因为三个数据表有一个相同的Store
Number 列标签,也包括读入这一列的指定数据表。
? 如果列标题不能用于变量名,要么让自动建立有效的变量名要么在有效变量名后使用关键字。本例中,Store Number 不是的有效变量名,所以变量名Store_Number 被自动建立,原列标题
按照变量标签来使用。
? 子句识别读入的数据表。
? 子句识别三个数据表中按照匹配Store Number的值合并数据。
3-7 在SPSS中合并数据表
译者:戴申
本文档为【SPSS导入Excel工作簿中的一张数据表和多数据表】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。