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

2024-01-19

我编写了一个简洁的 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 并放置在统计安装下的脚本目录中。每次启动统计信息时都会执行该操作。 (这可以使用 STATS OPEN PROJECT 扩展命令进行概括,该命令在调用时可以执行很多操作,包括编写启动脚本。)

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

这是一个例子: SPSSINC 程序 testpgm.mypgn x=年龄 y = 收入 z=.05。

作为开发人员,要完成这项工作,请参阅此命令的语法帮助。该命令加载模块并使用 sys.argv 将参数传递给您的代码。

如果您的用户主要是点击式用户,您只需创建一些自定义对话框来保存 Python 代码并让用户安装它们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Python 快速导入自定义 SPSS 命令 的相关文章

  • 类的 IPython 表示

    我正在使用我创建的模块尝试 IPython 但它没有显示类对象的实际表示 相反 它显示类似的内容 TheClass module TheClass name I heavily在这个模块中使用元类 我有真正有意义的类表示 应该向用户显示 是
  • Python - 比较同一字典中的值

    我有一本字典 d Trump MAGA FollowTheMoney Clinton dems Clinton Stein FollowTheMoney Atlanta 我想删除字符串列表中的重复字符串 该字符串是键的值 对于这个例子 期望
  • pandas DataFrame.join 的运行时间是多少(大“O”顺序)?

    这个问题更具概念性 理论性 与非常大的数据集的运行时间有关 所以我很抱歉没有一个最小的例子来展示 我有一堆来自两个不同传感器的数据帧 我需要最终将它们连接成两个very来自两个不同传感器的大数据帧 df snsr1 and df snsr2
  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s
  • 如何在 Access 2010 中创建自定义 ID

    这个问题的标题可能不准确 因为我不确定如何提出这个问题 有没有办法让 AC 2010 中的 ID 字段具有常量部分 然后是用户将输入的 ID 的一部分 示例 EMP9066 我希望 ID 的 EMP 部分始终保持不变 用户不应更改它 并且
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • 为什么 web2py 在启动时崩溃?

    我正在尝试让 web2py 在 Ubuntu 机器上运行 所有文档似乎都表明要在 nix 系统上运行它 您需要下载源代码并执行以下操作 蟒蛇 web2py py 我抓住了source http www web2py com examples
  • 嵌套作用域和 Lambda

    def funct x 4 action lambda n x n return action x funct print x 2 prints 16 我不太明白为什么2会自动分配给n n是返回的匿名函数的参数funct 完全等价的定义fu
  • Django REST Framework - CurrentUserDefault 使用

    我正在尝试使用CurrentUserDefault一个序列化器的类 user serializers HiddenField default serializers CurrentUserDefault 文档说 为了使用它 请求 必须作为
  • 将 Matlab 的 datenum 格式转换为 Python

    我刚刚开始从 Matlab 迁移到 Python 2 7 在读取 mat 文件时遇到一些问题 时间信息以 Matlab 的日期数字格式存储 对于那些不熟悉它的人 日期序列号将日历日期表示为自固定基准日期以来已经过去的天数 在 MATLAB
  • 找到一个数字所属的一组范围

    我有一个 200k 行的数字范围列表 例如开始位置 停止位置 该列表包括除了非重叠的重叠之外的所有类型的重叠 列表看起来像这样 3 5 10 30 15 25 5 15 25 35 我需要找到给定数字所属的范围 并对 100k 个数字重复该
  • Protobuf 如何编码 oneof 消息结构

    对于这个 python 程序 在编码时运行 protobuf 编码会给出以下输出 0a 10 08 7f8a 0104 08 02 10 0392 0104 08 02 10 03 18 01 我不明白的是为什么8a后面有一个01 为什么9
  • PySpark groupByKey 返回 pyspark.resultiterable.ResultIterable

    我试图找出为什么我的 groupByKey 返回以下内容 0
  • python 中的“槽包装器”是什么?

    object dict 和其他地方的隐藏方法设置为这样的
  • 重新分配唯一值 - pandas DataFrame

    我在尝试着assign unique值在pandas df给特定的个人 For the df below Area and Place 会一起弥补unique不同的价值观jobs 这些值将分配给个人 总体目标是使用尽可能少的个人 诀窍在于这
  • 如何将 Django 中的权限添加到模型并使用 shell 进行测试

    我在模型中添加了 Meta 类并同步了数据库 然后在 shell 中创建了一个对象 它返回 false 所以我真的无法理解错误在哪里或者缺少什么是否在其他文件中可能存在某种配置 class Employer User Employer in
  • 在virtualenv中下载sqlite3

    我正在尝试使用命令创建应用程序python3 manage py startapp webapp但我收到一条错误消息 django core exceptions ImproperlyConfigured 加载时出错 pysqlite2 或
  • 如何在 Flask 中的视图函数/会话之间传递复杂对象

    我正在编写一个 Web 应用程序 当 且仅当 用户登录时 该应用程序从第三方服务器接收大量数据 这些数据被解析为自定义对象并存储在list 现在 用户在应用程序中使用这些数据 调用不同的视图 例如发送不同的请求 我不确定什么是最好的模式在视
  • JSON:TypeError:Decimal('34.3')不是JSON可序列化的[重复]

    这个问题在这里已经有答案了 我正在运行一个 SQL 查询 它返回一个小数列表 当我尝试将其转换为 JSON 时 出现类型错误 查询 res db execute SELECT CAST SUM r SalesVolume 1000 0 AS
  • 如何在Python脚本中从youtube-dl中提取文件大小?

    我是 python 编程新手 我想在下载之前提取视频 音频大小 任何 YouTube 视频 gt gt gt from youtube dl import YoutubeDL gt gt gt url https www youtube c

随机推荐

  • 我的代码发出错误“应用程序:不是过程”或“调用非过程”

    在执行我的代码期间 我在不同的方案实现中遇到以下错误 Racket application not a procedure expected a procedure that can be applied to arguments give
  • Bootstrap:如何识别Bootstrap版本?

    我想更新网站上的 Bootstrap 但我不知道安装的版本 如何仅使用 bootstrap css 和 bootstrap min js 文件来识别 bootstrap 版本 CSS 文件中没有版本 min js 文件包含以下注释 Boot
  • 错误:postgresql 中不存在用于更新的列[重复]

    这个问题在这里已经有答案了 我正在尝试将一行文本插入到该列为空的列中 下面列出了错误 任何帮助是极大的赞赏 UPDATE public meditech ar test4 SET filename text WHERE filename i
  • 对 Unity 项目执行版本控制的最佳方法 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在开发我的第一个大型 Unity 项目 这是一个游戏 我有很多资产 现在他们使用超过 200 Mbs 的硬盘 我想使用像 GIT 这样的控制
  • 更新到 jruby-1.7.13 后,在 jruby 中要求自制 gem 失败

    我使用了 jruby 1 7 0 和测试框架 Test Unit TestCase 现在我更新了一些gems 导致我使用MiniTest Test进行测试 所以我也升级到了jruby 1 7 13 我也有一个 rake 任务 它使用 jav
  • 打印出 SQL 单个查询 (Yii 1.x)

    我有一个使用 CDbCriteria 生成的大量查询 如下所示 schema Yii app gt db gt schema builder schema gt commandBuilder how to echo out this que
  • 灵活的数组成员,不必是最后一个

    我试图弄清楚 C 中是否有一种解决方法可以在结构中拥有灵活的数组成员 这不是最后一个 例如 这会产生编译错误 typedef struct attribute packed uint8 t slaveAddr lt The slave ad
  • Web API 空白参数值被转换为 null

    我有一个简单的 Web API 服务 大约有 10 种不同的 GET 操作 这些操作根据输入参数返回各种数据库记录的 JSON 输出 对于一个特定端点 一个空格 应该是一个有效的参数 但它被转换为 null 有没有解决的办法 例如网址是 h
  • 是否有返回当前类/方法名称的函数? [复制]

    这个问题在这里已经有答案了 在 C 中 是否有返回当前类 方法名称的函数 当前班级名称 this GetType Name 当前方法名称 using System Reflection MethodBase GetCurrentMethod
  • 找不到gunicorn命令,但它在我的requirements.txt中

    我正在 Heroku 上部署 Django 应用程序 该应用程序已成功部署 但当我想在提供的 http 链接上查看该应用程序时 出现以下错误 gunicorn在我的requirements txt file 2020 02 21T16 22
  • 包含类型的类型的模板函数重载

    我正在尝试执行以下操作 include
  • 在Unity中画出流畅的线条真的那么难吗?

    一段时间以来 我一直在尝试在 Unity 中绘制平滑的线条 但使用线条渲染器时 我只获得了锯齿状的线条 且边角不是圆角的 特别是当曲率角度非常小时 我在质量设置中增加了抗锯齿的值 并尝试了不同的材质 但没有任何改变 我还尝试在每次鼠标移动时
  • 无法保留运行之间的空间

    我想生成一个word文档 作为输入 我有这个字符串 开放包装约定 每个单词都有不同的样式 结果应该是open包装惯例 WordprocessingDocument document WordprocessingDocument Create
  • java属性改变监听器

    我需要处理两个类之间的更改交互 public class HeadClass private Subclass sub public void refresh public class Subclass ArrayList store pu
  • 如何在托管 C++ 中捕获非托管 C++ 异常

    我正在一个大型非托管 C 库和一个大型 C 库上开发一个瘦托管 C 包装器 我需要捕获源自该大型非托管 C 库的错误 并将它们作为 Clr 异常重新抛出 非托管库抛出以下类的实例 Error Error const std string f
  • C# Treeview 移动节点后不刷新

    在我的 Windows 应用程序中 我有一个树视图 我制作了自定义按钮来向下移动节点 单击按钮时会发生以下情况 Node destNode tvCategories SelectedNode NextNode Node srcNode tv
  • 我需要帮助才能在同步模式下进行 FB.api() 调用

    我在 for 循环中运行 FB api 时遇到问题 for var i 0 i lt commentObjectLength i var fbFeedID commentObject OwnCommentList i fbFeedID va
  • 基于机架的 Web 服务器是否代表 FastCGI 协议?

    我读到 CGI FastCGI 是一种用于将外部应用程序连接到 Web 服务器的协议 因此 Web 服务器 如 Apache 或 NginX 通过套接字将环境信息和页面请求本身发送到 FastCGI 进程 并且 FastCGI 通过同一连接
  • ng-repeat 定义的次数而不是在数组上重复的方法?

    有没有办法ng repeat定义的次数而不是总是必须迭代数组 例如 下面我希望列表项显示 5 次 假设 scope number等于 5 并增加数字 因此每个列表项都会增加 1 2 3 4 5 期望的结果 ul li span 1 span
  • 从 Python 快速导入自定义 SPSS 命令

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