将SPSS数据集导入Python

时间:2010-09-03 21:18:23

标签: python import dataset spss

有没有办法将SPSS数据集导入Python,最好是NumPy重新格式? 我环顾四周但找不到任何答案。

7 个答案:

答案 0 :(得分:3)

SPSS与Python有广泛的集成,但这意味着要与SPSS(现在称为IBM SPSS Statistics)一起使用。有一个SPSS ODBC驱动程序可以与Python ODBC支持一起使用来读取sav文件。

答案 1 :(得分:3)

选项1 正如rkbarney指出的那样,通过pypi可以获得Python savReaderWriter。我遇到了两个问题:

  1. 除了看似纯粹的python实现之外,它还依赖于许多额外的库。几乎在所有情况下,IBM提供的SPSS I / O模块都可以读取和写入SPSS文件。这些模块因平台而异,根据我的经验,“pip install savReaderWriter”不会让它们开箱即用(在OS X上)。
  2. savReaderWriter的开发虽然没有死,但却比人们希望的更新。这使第一个问题变得复杂。它依赖于一些不推荐使用的软件包来提高速度,并在导入savReaderWriter时提供一些警告(如果它们不可用)。今天不是一个大问题,但是随着IBM继续更新SPSS I / O模块以处理新的SPSS格式(如果内存服务已经在版本21或22上),它可能会成为麻烦。
  3. 选项2 我选择使用R作为中间人。使用rpy2,我设置了一个简单的函数来将文件读入R数据帧并再次作为CSV文件输出,然后我将其导入到python中。这是一个有点rube-goldberg,但它的工作原理。当然,这需要R,这也可能是在您的环境中安装的麻烦(并且对于不同的平台具有不同的二进制文件)。

答案 2 :(得分:2)

gretl声称导入SPSS并以各种格式导出,R statistical suite也是如此。我从未处理过SPSS数据,所以不能说出它们的相对优点。

答案 3 :(得分:2)

你可以让Python对spssread进行外部调用,这是一个Perl脚本,可以按照你想要的方式输出SPSS文件的内容。

答案 4 :(得分:1)

需要说明的是,SPSS ODBC驱动程序不需要安装SPSS。

答案 5 :(得分:1)

这可能会对某人有所帮助:

http://sourceforge.net/search/?q=python+SPSS

祝你好运!

米甲

答案 6 :(得分:1)

也许这会有所帮助: 用于spss sav文件的Python读取器+编写器(Linux,Mac和Windows) http://code.activestate.com/recipes/577811-python-reader-writer-for-spss-sav-files-linux-mac-/