从 Python 快速导入自定义 SPSS 命令

Quickly import custom SPSS commands from Python

我编写了一个简洁的 Python 模块,其中包含一些自定义 SPSS 函数供我的同事使用。但是,要使用该功能,他们首先需要键入 BEGIN PROGRAM。导入模块等...在实际调用函数之前。因为他们中的大多数人不懂技术,所以我想让事情变得更简单。

现在他们必须输入如下内容:

BEGIN PROGRAM.
import sys
sys.path.append("C:/Python scripts")
import mymodule
mymodule.custom_function('a','c')
END PROGRAM.

有没有一种方法可以编写一些 SPSS 宏来在一行中调用我的 Python 模块中的函数?像这样:

!mymodule.custom_function varlist=a,b

我试过定义一个普通的 SPSS 宏并在宏主体中编写 BEGIN PROGRAM 等,但这会产生错误。似乎宏体只能包含有效的 SPSS 语法而没有 python 代码。

还有其他解决方案吗?

有几种可能的解决方案。如果你想自动加载一组标准的 Python 函数,你可以创建一个启动脚本。它将被命名为 StartClient_.py 并放置在 Statistics 安装下的脚本目录中。每次启动 Statistics 时都会执行此操作。 (这可以使用 STATS OPEN PROJECT 扩展命令进行概括,该命令在调用时可以做很多事情,包括编写启动脚本。)

如果您只是希望用户能够 运行 Python 功能而无需面对任何 Python 代码或 BEGIN/END 程序,则另一种解决方案是使用 SPSSINC PROGRAM 扩展命令(实用程序 > 运行 Python 程序)。它需要一个模块和函数 运行 以及您要指定的任何参数。

举个例子: SPSSINC 计划 testpgm.mypgn x=年龄 y = 收入 z=.05.

作为开发人员,要使这项工作正常进行,请参阅此命令的语法帮助。该命令加载模块并使用 sys.argv.

将参数传递给您的代码

如果您的用户主要是指点和点击用户,您可以只创建一些包含 Python 代码的自定义对话框并让用户安装它们。