3

我发现谷歌搜索结果好坏参半。我需要解析 SPSS .sav 文件以发现数据布局并提取调查结果。第一步是读取数据的“模式”。例如,我需要知道问题及其允许回答的类型。我计划在我自己的 SQL 表中对这些数据进行建模,这样我就可以根据我的应用程序要求对其进行切片和切块。第二步是用受访者的答案填充我的数据模型。查看 SPSS sav 文件,我相信它具有我正在寻找的两种类型的数据。

如果我不严格要求,我不需要也不想要昂贵的 SPSS 软件。我们不会对这些数据进行统计,只是根据答案过滤器选择受访者的子集。SPSS 文件将由获得 SPSS 许可的合作伙伴公司提供。我不需要将任何数据输出回 SPSS;我的用例是只读的。

我可以在我的解析器程序中使用 Python、Java 和 Groovy,C/C++。该程序将在数据收集结束时运行一次,因此性能并不是特别重要。理想情况下,我希望我的代码是跨平台的,这样我就可以在我的 Mac 上开发并部署到 Linux,但如果必须的话,我可以使用 windows,

我发现的很多东西要么是 2004 年的 java 类,要么是需要 IBM 的 DLL 并且是特定于 Windows 的现代 Python 代码。根据我对需求的快速解释,我将感谢 SO 社区的建议。我认为我的需求很简单,但还没有找到我所希望的。一个开源库是理想的,但我什至会以合理的价格购买一个简单的商业解决方案。

4

3 回答 3

5

您可以免费获得带有详细文档的 SPSS i/o 模块,以便构建您自己的应用程序来读取(或写入)sav 文件。这些模块可用于 SPSS Statistics 支持的所有平台。

访问位于http://www.ibm.com/developerworks/spssdevcentral的 SPSS 社区站点,然后点击 SPSS 下载链接。您必须注册,但这是免费的。

SAV 文件是一种具有许多复杂结构的二进制格式,因此最好使用 i/o 模块。而且,如果向 SAV 文件添加新功能(这种情况经常发生),则 i/o 模块会同时更新,因此您的代码不会过时。

HTH,乔恩·派克

于 2011-10-09T22:29:27.173 回答
1

GNU PSPP显然可以读取 SPSS 数据文件。我还在PSPP 源代码中找到了格式描述的链接,尽管它带有警告“不要尝试直接读/写这种格式”。

于 2011-10-08T06:06:03.743 回答
0

这里有一个java库:

http://sourceforge.net/projects/spss-writer/

于 2012-09-20T13:40:32.443 回答