2016-12-23 11 views
4

현재 파일을 절대 파일 경로 SAVE OUTFILE='my/path/to/file.sav'에 저장합니다. 이것은 최적이 아니므로 SAVE OUTFILE='file.sav'과 같은 동적/상대 파일 경로에 파일을 저장하고 싶습니다.SPSS의 동적 파일 경로

그래서 현재 디렉토리를 설정해야하지만 위와 같이 위와 같이 작동하고 다음을 저장하십시오. 하지만 SPSS가 파일을 열 때 디렉토리를 자동으로 설정할 수 없는지 궁금합니다. 우리는 대개 같은 구문으로 작업하는 사람들이 많으며 항상 절대 파일 경로를 변경해야합니다.

편집 : Jignesh Sutar는 파이썬 확장을 사용할 수 있다고 말했습니다. 실제로 단지 스크립트와 다른 아무것도 출력은, 그러나, 다른 간단한 경우가 될 것입니다 위의

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 HANDLECD 명령 (사용자가 지적한대로)을 사용하면 이러한 유형의 작업을 쉽게 처리 할 수 ​​있습니다.

그러나 필자는 파이썬을 사용할 경우 모든 작업 설정을 사용하는 다른 접근 방식을 선택합니다.

당신과 같이 파이썬을 사용하여 (저장) 구문 파일의 동적 위치를 얻을 수 있습니다 :

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

난 당신이 here을 찾을 수있는 도움이 될 수있는 과거에 이것에 대한 자세한 솔루션을 게시 당신의 시나리오도.

+0

쿨의 확장 메뉴에서 설치할 수 있습니다. 'INSERT'를 사용한다면, 현재 디렉토리의 경로를 변경할 수도 있습니다. –

+0

무슨 뜻인지 모르시겠습니까? –

+0

그래서'GET FILE = mystuff.sav.'라는 문법 파일을 가지고 있다면 "A.sps"라고 부르세요. 'INSERT FILE = "YourDir \ A.sps"CD = YES.'를 사용하면 삽입 된 파일 가져 오기 명령은 "A.sps"파일이있는 디렉토리와 동일한 디렉토리에서 찾습니다. –

1

또 다른 가능성은 STATS OPEN PROJECT 확장 명령을 사용하는 것입니다. 그러면 프로젝트가 열리고 정의 된 동작이 수행됩니다. 데이터 파일을 열고 구문을 실행 할 수 있습니다. 항상 원하는 작업을 수행하고 특정 작업을 위해 하위 프로젝트를 수행 할 수있는 마스터 프로젝트를 가질 수 있습니다. 원하는 경우 통계 시작시이 작업을 수행하도록 설정할 수 있습니다.

통계 OPEN 프로젝트는 V24 또는 유틸리티> 확장 V22의 명령 또는 23