2010-09-03 5 views

ответ

2

требования для импорта и экспорта SPSS в различных форматах, как это делает R statistical suite. Я никогда не занимался данными SPSS, поэтому не мог говорить об их относительных достоинствах.

3

SPSS имеет обширную интеграцию с Python, но предназначен для использования с SPSS (теперь это называется IBM SPSS Statistics). Существует драйвер SPSS ODBC, который можно использовать с поддержкой ODBC Python для чтения файла sav.

+0

Или вы могли бы просто сохранить его в любом формате, который вам нравится, используя python изнутри SPSS, я предполагаю? Оба решения требуют, чтобы «joon» имел доступ к SPSS (хотя это довольно дорогостоящий AFAIK). – JanC

1

Чтобы быть ясным, драйвер SPSS ODBC не требует установки SPSS.

1

Вы могли бы иметь Python сделать внешний вызов spssread, сценарий Perl, который выводит содержимое файлов SPSS в том, как вы хотите.

3

Вариант 1 Как rkbarney указал, есть Python savReaderWriter доступны через PyPI. Я столкнулся с двумя проблемами:

  1. Он опирается на множество дополнительных библиотек за пределы реализации, казалось бы, чистой версии python. Файлы SPSS считываются и записываются почти в каждом случае с помощью модулей ввода/вывода SPSS IBM. Эти модули отличаются платформой, и, по моему опыту, «pip install savReaderWriter» не дает им работать из коробки (на OS X).
  2. Разработка на savReaderWriter, хотя и не мертва, менее актуальна, чем можно было бы надеяться. Это усложняет первый выпуск. Он использует некоторые устаревшие пакеты для увеличения скорости и дает некоторые предупреждения в любое время, когда вы импортируете savReaderWriter, если они недоступны. Сегодня это не проблема, но в будущем это может быть проблемой, так как IBM продолжает обновлять модули ввода/вывода SPSS для работы с новыми форматами SPSS (они уже находятся на версии 21 или 22, если память используется).

Вариант 2 Я решил использовать R в качестве среднего человека. Используя rpy2, я установил простую функцию для чтения файла в R-кадр данных и вывел его снова как файл CSV, который впоследствии импортирую в python. Это немного rube-goldberg, но он работает. Конечно, для этого требуется R, что также может быть проблемой для установки в вашей среде (и имеет разные бинарные файлы для разных платформ).

+0

Джон, ты был бы так добр, чтобы писать (в GitHub gist или в pastebin.com) код в вашем подходе на основе rpy2? Я борюсь с этой проблемой http://stackoverflow.com/q/36287936/1389110, и ваш подход может помочь. – Pyderman

Смежные вопросы