filepath - SPSS中的动态文件路径

标签 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.

这确实工作得很好。

最佳答案

SPSS 有 FILE HANDLECD命令(正如您也指出的那样)有助于尝试使此类事情变得更容易。

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

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

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

我过去曾发布过详细的解决方案,您可以找到here并且可能对您的场景也有帮助。

关于filepath - SPSS中的动态文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41297614/

相关文章:

loops - SPSS 创建一个循环以对多个变量进行多元回归

loops - 如何在 SPSS 上创建以下变量?

c# - 前置 "\\?\"不适用于处理长路径

java - 从 Spring 中的文件路径加载属性文件

javascript - 我无法使用动态路径名将文件路径中的图像附加到动态创建的 div 中

php - codeigniter 配置文件夹结构

delphi - 如何在桌面上创建文件夹?

syntax - 创建 SPSS 循环函数

python - 将 SPSS 数据集导入 Python

syntax - 使用语法在 SPSS 中删除行和列