2010-06-03 2 views
3

В SPSS 11 можно было указать относительные пути. Пример:Указание относительных путей в SPSS 18

FILE HANDLE myfile='..\..\data\current.txt' /LRECL=533. 
DATA LIST FILE=myfile/
... 

Это работало, потому что, по-видимому, SPSS 11 установить рабочую папку в путь, в котором сохранен файл источника .SPS. Похоже, что SPSS 18 всегда устанавливает рабочую папку в папку установки самого SPSS. Это совсем не то же самое.

Есть ли возможность изменить это поведение? Или я застрял с изменением всего на абсолютные имена файлов?

ответ

4

Вместо относительного пути, вы можете определить путь к каталогу и использовать его внутри других объявлений Дескриптор файла, чтобы сохранить ввод:

FILE HANDLE DirectoryPath/NAME = 'C: \ Directory \ Path \ '.
FILE HANDLE myFile /NAME='directoryPath/fileName.xyz '.
GET FILE = 'myFile'.

Это получит файл: C: \ Directory \ Path \ fileName.xyz.

Направление косых черт может быть важным.

(Работает в версии 17) Команда

+0

Спасибо за ответ. Я уже использую это как обходной путь. – exhuma

2

Если вы используете команду INSERT для запуска sps-файла, у нее есть возможность изменить рабочий каталог на это место.

Вы можете использовать команду HOST, чтобы ПОДПИСАТЬ букву диска (на ПК) и все через это ссылаться.

Вы можете определить FILE HANDLE для общего корневого местоположения и использовать это в ссылках на файлы.

Вы можете использовать программирование на Python, чтобы найти путь к окну активного синтаксиса и выпустить команду CD SPSS для правильной установки рабочего каталога.

НТН, Джон Пек

+0

что? Поддержка Python? Funky ... У меня нет большого опыта в SPSS. С другой стороны, Python ... :) Я, конечно, буду смотреть на это. – exhuma

+0

После первого взгляда, питон, кажется, не является удовлетворительным ответом. Теперь я посмотрю на переменные окружения. Думаю, что «COMPUTERNAME» может оказаться полезным. 'SHOW ENVIRONMENT.' отображает переменные, но как я могу добраться до одного из них? – exhuma

2

С Python, вы можете получить полный путь текущего окна синтаксиса (или любой другой) и получить свой путь. Используя это, вы можете создать команду SPSS cd, чтобы соответствующим образом изменить рабочий каталог.

Если вы определяете переменную среды, вы можете использовать ее в спецификациях файлов в SPSS.

p.s. SPSS имеет обширный набор apis и вспомогательных модулей для Python (а также для языков R и .NET). Вы можете получить информацию об этом от SPSS Developer Central, www.spss.com/devcentral. Все языковые расширения бесплатны, если у вас есть базовый продукт SPSS Statistics.

С уважением, Jon Peck

+0

Спасибо за ссылку на devcentral. К сожалению, в настоящее время мне приходится искать другие вещи. Я попробую, как только я получу свободное время. – exhuma

0

Или использовать "CD", чтобы изменить рабочий каталог по умолчанию. Смотрите также:

http://www.spss-tutorials.com/change-your-working-directory/

Например, если ваша директория по умолчанию C: \ проект, то GET FILE 'Data \ data_file.sav. откроет data_file.sav из C: \ project \ data.

А потом, через несколько минут, я наткнулся на этот маленький питон скрипт из jignesh-sutar (смотрите здесь:. SPSS syntax - use path of the file

С его питона код, который вы можете использовать путь к файлу синтаксиса в качестве отправной точки для всех пути в вашем синтаксисе.

+1

Теперь я вижу, что Джон Пек включил команду CD также в свой ответ. – frettiggestoord