SPSS中的动态文件路径

时间:2016-12-23 08:13:13

标签: filepath 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 个答案:

答案 0 :(得分:4)

SPSS有一个FILE HANDLECD命令(正如你所指出的那样)有助于尝试使这类事情变得更容易。

但是我选择了一种不同的方法,我可以使用我的所有工作设置,如果使用Python也可以实现。

您可以使用python获取(保存的)语法文件的动态位置,如下所示:

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

我过去已经发布了一个详细的解决方案,您可以找到here,也可以在您的方案中找到帮助。

答案 1 :(得分:1)

另一种可能性是使用STATS OPEN PROJECT扩展命令。这将打开一个项目并执行它定义的操作。它可以打开数据文件,运行任何语法等。您可以拥有一个主项目,可以执行您经常需要的工作,子项目可以执行特定的工作。如果需要,可以设置为在统计启动时执行此操作。

STATS OPEN PROJECT可以从V24中的Extensions菜单或Utilities>中安装。 V22或23中的扩展命令。