2014-02-17 25 views
1

我有一個spss語法文件,我需要在與文件同名的不同目錄下運行多個文件,而且我也試圖自動執行此操作。到目前爲止,我已經嘗試過使用語法代碼來做這件事,並且試圖避免做python是spss,但是我所能得到的是代碼如下,它不起作用。自動在多個數據文件上運行spss語法文件

VECTOR v = key. 

LOOP #i = 1 to 41. 
GET 
    FILE=CONCAT('C:\Users\myDir\otherDir\anotherDir\output\',v(#i),'\',v(#i),'.sav'). 
    DATASET NAME Data#i WINDOW=FRONT. 
    *Do stuff to the opened file 
END LOOP. 
EXE. 

key是包含所有文件名的文件中唯一的一列。

我在調試時遇到了問題,因爲如果可能的話我不知道如何打印到屏幕上。所以我的問題是:有沒有辦法讓上面的代碼工作,或另一個選項,完成相同的事情?

回答

1

您不能在GET命令中使用類似的表達式。有兩種選擇。使用宏語言將它們放在一起(參見通過「幫助」菜單在命令語法參考中定義DEFINE),或者使用SPSSINC PROCESS FILES擴展命令或您自己的Python代碼來選擇帶有通配符的文件。

擴展命令或Python程序需要從SPSS社區網站提供的免費Python Essentials或隨統計版本一起提供。

+0

我最終只是做了一個python腳本的迴歸和生成文件,因爲它比學習SPSS宏更快,但感謝信息。 – user381261