2016-12-23 9 views
4

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

Так что мне нужно установить текущий каталог, но это работает как выше, так и 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. 

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

ответ

4

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

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

Вы можете получить динамическое расположение (сохраненный) файл синтаксиса с помощью питона так:

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

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

+0

Прохладной. Если вы используете 'INSERT', вы также можете изменить путь к текущему каталогу, –

+0

Не знаете, что вы имеете в виду ...? –

+0

Итак, если у вас есть файл синтаксиса, который имеет 'GET FILE = mystuff.sav.', назовите его« A.sps ». Если вы используете 'INSERT FILE =" YourDir \ A.sps "CD = YES.', то вставленная команда get file будет выглядеть в том же каталоге, в котором находится файл A.sps. –

1

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

STATS ОТКРЫТЫЙ ПРОЕКТ может быть установлен в меню Extensions в V24 или утилиты> Удлинительные команд в V22 или 23.

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

  • Нет связанных вопросов^_^