SPSSデータセットをPythonにインポートします
質問
SPSSデータセットをPython、できればNumpy Recarray形式にインポートする方法はありますか?私は周りを見回しましたが、答えが見つかりませんでした。
ジュン
解決
たぶんこれは役立つでしょう:SPSS SAVファイルのPython Reader + Writer(Linux、Mac、Windows)http://code.activestate.com/recipes/577811-python-reader-wor--spssssssss-files-linux-mac-/
他のヒント
SPSSはPythonと広範囲に統合されていますが、SPSS(現在はIBM SPSS統計として知られている)で使用されることを意図しています。 SPSS ODBCドライバーがあり、Python ODBCサポートで使用してSAVファイルを読み取ることができます。
オプション1Rkbarneyが指摘したように、Pypiを介してPython SavreaderWriterが利用可能です。私は2つの問題に遭遇しました:
- 一見純粋なパイソンの実装を超えて、多くの追加ライブラリに依存しています。 SPSSファイルは、IBM提供されたSPSS I/Oモジュールによって、ほぼすべてのケースで読み書きされます。これらのモジュールはプラットフォームによって異なり、私の経験では、「PIP Install SavreaderWriter」では、それらをボックスから使い果たしません(OS X)。
- SavreaderWriterの開発は、死んでいませんが、最新の状態ではありません。これは最初の問題を複雑にします。速度を上げるために一部の非推奨パッケージに依存し、SavreaderWriterが利用できない場合はいつでも警告を発します。今日の大きな問題ではありませんが、IBMがSPSS I/Oモジュールを更新して新しいSPSS形式を扱うため、将来的には問題になる可能性があります(メモリが提供される場合はすでにバージョン21または22にあります)。
オプション2Rを中間人として使用することを選択しました。 RPY2を使用して、ファイルをRデータフレームに読み取るために簡単な関数を設定し、その後PythonにインポートするCSVファイルとして再び出力します。それは少しrube-goldbergですが、うまくいきます。もちろん、これにはRが必要です。これには、環境にインストールするのが面倒な場合もあります(さまざまなプラットフォームに対して異なるバイナリがあります)。
Pythonに外部呼び出しを行わせる可能性があります spssread, 、SPSSファイルのコンテンツを希望どおりに出力するPerlスクリプト。
明確にするために、SPSS ODBCドライバーはSPSSのインストールを必要としません。