目前我将文件保存到绝对文件路径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.
这确实很好。
答案 0 :(得分:4)
SPSS有一个FILE HANDLE
和CD
命令(正如你所指出的那样)有助于尝试使这类事情变得更容易。
但是我选择了一种不同的方法,我可以使用我的所有工作设置,如果使用Python也可以实现。
您可以使用python获取(保存的)语法文件的动态位置,如下所示:
os.path.dirname(SpssClient.GetDesignatedSyntaxDoc().GetDocumentPath())
我过去已经发布了一个详细的解决方案,您可以找到here,也可以在您的方案中找到帮助。
答案 1 :(得分:1)
另一种可能性是使用STATS OPEN PROJECT扩展命令。这将打开一个项目并执行它定义的操作。它可以打开数据文件,运行任何语法等。您可以拥有一个主项目,可以执行您经常需要的工作,子项目可以执行特定的工作。如果需要,可以设置为在统计启动时执行此操作。
STATS OPEN PROJECT可以从V24中的Extensions菜单或Utilities>中安装。 V22或23中的扩展命令。