将 SPSS 数据集导入 Python

发布于 2024-09-18 08:56:33 字数 73 浏览 9 评论 0原文

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

Is there any way to import SPSS dataset into Python, preferably NumPy recarray format?
I have looked around but could not find any answer.

Joon

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

一向肩并 2024-09-25 08:56:33

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

SPSS has an extensive integration with Python, but that is meant to be used with SPSS (now known as IBM SPSS Statistics). There is an SPSS ODBC driver that could be used with Python ODBC support to read a sav file.

无远思近则忧 2024-09-25 08:56:33

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

  1. 除了看似纯 python 的实现之外,它还依赖于许多额外的库。几乎在所有情况下,SPSS 文件都是由 IBM 提供的 SPSS I/O 模块读取和写入的。这些模块因平台而异,根据我的经验,“pip install savReaderWriter”并不能让它们开箱即用(在 OS X 上)。
  2. savReaderWriter 的开发虽然还没有结束,但比人们希望的要落后。这使第一个问题变得复杂。它依赖于一些已弃用的软件包来提高速度,并在您导入 savReaderWriter 时发出一些警告(如果它们不可用)。今天这不是一个大问题,但将来可能会带来麻烦,因为 IBM 继续更新 SPSS I/O 模块以处理新的 SPSS 格式(如果没记错的话,它们已经是版本 21 或 22)。

选项 2
我选择使用 R 作为中间人。使用 rpy2,我设置了一个简单的函数来将文件读入 R 数据帧,并将其再次输出为 CSV 文件,随后将其导入到 python 中。这有点鲁布-戈德堡,但确实有效。当然,这需要 R,这在您的环境中安装也可能很麻烦(并且针对不同平台有不同的二进制文件)。

Option 1
As rkbarney pointed out, there is the Python savReaderWriter available via pypi. I've run into two issues:

  1. It relies on a lot of extra libraries beyond the seemingly pure-python implementation. SPSS files are read and written in nearly every case by the IBM provided SPSS I/O modules. These modules differ by platform and in my experience "pip install savReaderWriter" doesn't get them running out of the box (on OS X).
  2. Development on savReaderWriter is, while not dead, less up-to-date than one might hope. This complicates the first issue. It relies on some deprecated packages to increase speed and gives some warnings any time you import savReaderWriter if they're not available. Not a huge issue today but it could be trouble in the future as IBM continues to update the SPSS I/O modules to deal new SPSS formats (they're on version 21 or 22 already if memory serves).

Option 2
I've chosen to use R as a middle-man. Using rpy2, I set up a simple function to read the file into an R data frame and output it again as a CSV file which I subsequently import into python. It's a bit rube-goldberg but it works. Of course, this requires R which may also be a hassle to install in your environment (and has different binaries for different platforms).

怀中猫帐中妖 2024-09-25 08:56:33

gretl 声称可以导入 SPSS 并以多种格式导出,R 统计套件。我从未处理过 SPSS 数据,因此无法谈论它们的相对优点。

gretl claims to import SPSS and export in a variety of formats, as does the R statistical suite. I've never dealt with SPSS data so cannot speak to their relative merits.

芯好空 2024-09-25 08:56:33

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

You could have Python make an external call to spssread, a Perl script that outputs the content of SPSS files in the way you want.

此生挚爱伱 2024-09-25 08:56:33

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

Maybe this will help:
Python reader + writer for spss sav files (Linux, Mac & Windows)
http://code.activestate.com/recipes/577811-python-reader-writer-for-spss-sav-files-linux-mac-/

獨角戲 2024-09-25 08:56:33

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

To be clear, the SPSS ODBC driver does not require an SPSS installation.

苹果你个爱泡泡 2024-09-25 08:56:33

也许这对某人有帮助:

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

祝你好运!

米哈尔

Maybe this will be helpful for someone:

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

good luck!

Michal

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文