Динамический путь к файлу в SPSS

В настоящее время я сохраняю файлы по абсолютному пути SAVE OUTFILE='my/path/to/file.sav', Это не оптимально, поэтому я хотел бы сохранить файлы в динамические / относительные пути файлов, такие как SAVE OUTFILE='file.sav',

Так что мне нужно установить текущий каталог, но это работает как и выше CD 'my/path/to/' а затем сохранить. Но мне интересно, если SPSS не может установить каталог автоматически при открытии файлов? У нас обычно много людей, работающих с одинаковым синтаксисом, и нам всегда придется менять абсолютные пути к файлам.

Редактировать: Как сказал Jignesh Sutar, я также могу использовать расширение Python. Поэтому я подумал, что могу использовать что-то простое, например:

BEGIN PROGRAM.
import spss,spssaux, os, SpssClient
SpssClient.StartClient() 

path = SpssClient.GetCurrentDirectory()
print path
spss.Submit(r"""CD = '%s'.""" % (path))
SpssClient.StopClient()
END PROGRAM.

Но выше, на самом деле, будет просто выводить сценарий и ничего больше, однако, другой простой случай будет:

BEGIN PROGRAM.
import spss
firstvar=spss.GetVariableName(0)
print firstvar
END PROGRAM.

И это действительно работает нормально.

2 ответа

Решение

SPSS имеет FILE HANDLE а также CD Команда (как вы также указываете), чтобы помочь сделать этот тип вещей проще.

Однако я выбираю другой подход, который мне нужно использовать для настройки всех моих заданий, который, если вы используете Python, также может быть реализован.

Вы можете получить динамическое расположение (сохраненного) файла синтаксиса, используя python, например:

os.path.dirname(SpssClient.GetDesignatedSyntaxDoc().GetDocumentPath()) 

В прошлом я опубликовал подробное решение этой проблемы, которое вы можете найти здесь, и может оказаться полезным в вашем сценарии.

Другая возможность - использовать команду расширения STATS OPEN PROJECT. Это открывает проект и выполняет действия, которые он определяет. Он может открывать файлы данных, запускать любой синтаксис и т. Д. У вас может быть мастер-проект, который делает то, что вы всегда хотите, и подпроекты для конкретной работы. Это можно сделать при запуске статистики, если хотите.

STATS OPEN PROJECT можно установить из меню "Расширения" в V24 или "Утилиты"> "Команды расширения" в V22 или 23.

Другие вопросы по тегам