gpt4 book ai didi

python - 使用 python 为 SPSS 创建扩展

转载 作者:太空宇宙 更新时间:2023-11-04 05:15:35 27 4
gpt4 key购买 nike

所以我发现了 SPSS 的 python 扩展,并且一切正常,我现在创建了一些脚本并将它们包含在扩展映射中并且它工作正常。然而,现在我已经创建了几个需要参数的脚本,我想我可以只使用相同的方法,但我想不行。

def Run(args):
import spss
def testing_p(variables):
all_variables = [spss.GetVariableName(i) for i in range(spss.GetVariableCount())]
variable_nr = [all_variables.index(i) for i in variables]

print all_variables
print variable_nr

使用以下 .xml 文件:

<Command xmlns="http://xml.spss.com/extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="testing_p" Language="Python">
</Command>

然而,这在调用 testing_p(['my_var', 'my_var2']) 时一直抛出错误:

Warnings
This command should specify a valid subcommand at the beginning.
Execution of this command stops.

我无法解决这个问题,因为当不放入扩展映射时一切正常,只做:

BEGIN PROGRAM.
import spss
def testing_p(variables):
all_variables = [spss.GetVariableName(i) for i in range(spss.GetVariableCount())]
variable_nr = [all_variables.index(i) for i in variables]

print all_variables
print variable_nr
END PROGRAM.

最佳答案

对于可以用 Python、R 或 Java 编写的扩展,您需要创建一个语法规范,其中包含命令名称、任何子命令以及所需的参数和参数类型。这是一个开始的图片(SPSSINC_TURF,与 Statistics 一起安装)。 enter image description here

这将引导统计分析器检查用户输入。然后,它还会调用包含用户输入的复杂结构的 Run 函数。您可以使用扩展模块中的函数将其映射到您的 Python 变量并进行进一步验证。这是 SPSSINC TURF 运行功能启动的图片。

enter image description here

最后,如果语法有效,您的 Run 函数将调用 worker 函数来做一些有用的事情,通过调用将所有参数映射到指定的参数

processcmd(oobj, args, superturf, vardict=spssaux.VariableDict())
这是从 extensions.py 导入的。

查看帮助系统中的扩展文档,并查看一些随 Statistics 安装的扩展以获取示例。

最后,这是我的一个演示文稿中的一张幻灯片,总结了从用户输入到结果的流程。

enter image description here

关于python - 使用 python 为 SPSS 创建扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41788929/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com