python - 使用 Python 覆盖 SPSS 变量
问题描述
我的 SPSS 数据集包含两个变量,分别带有名称time1
和time2
标签。最终,我想使用 Python 来读取变量并修改它们。作为一个简单的测试,我试图用. 这是我正在使用的 SPSS 语法:time1
time2
time1
"hello"
begin program python.
import spss, spssdata
data = spssdata.Spssdata(indexes=["time1"], accessType="w")
for row in data:
data.setvalue("time1", "hello")
data.CommitCase()
data.CClose()
end program.
但我收到以下错误:
警告:退出程序块时检测到打开的光标。光标已关闭。回溯(最近一次调用):
文件“”,第 5 行,在文件“C:\PROGRA~1\PREDIC~1\PSIMAG~1\5\IBM\SPSS\STATIS~1\25\PYTHON\Lib\site - packages\spssdata\spssdata.py", line 467, in setvalue index = [varspec[0] for varspec in self.newvars].index(var) ValueError: 'time1' is not in list
我在这里想念什么?谢谢你。
我的变量:
解决方案
使用模块使用 Python 覆盖数据是不可能的,spssdata
因为它使用模块中的Cursor
对象spss
,它不能覆盖变量。可以使用 Python 创建一个新变量并设置其值。然后,您还可以删除旧变量并将新变量重命名为与旧变量相同的名称。
来自IBM SPSS Statistics 的编程和数据管理 23:IBM SPSS Statistics 和 SAS 用户指南,第 167 页:
写入模式允许您将新变量(及其案例值)添加到活动数据集中
推荐阅读
- docker - Windows 的 $(which docker) 相当于什么?
- c - 如何在 C 中巧妙地将 32 位以上的数字(38 位)转换为 32 位系统上的字符串
- javascript - Javascript - 添加与对象键相关的所有成本的总和
- sql - 将 varchar 类型的列中的特定单元格转换为 nvarchar
- ios - 为什么 swift 的 JSONDecoder.decode(_:from:) 只需 1mb 数据就需要 10-15 秒?
- angular - 具有延迟加载的 Angular 上的可注入提供程序生命周期
- oracle - 通过数据库链接查看以确定 LOB 列是否为 NULL
- ios - 德尔福 FMX iOS 应用程序。如何打开应用通知设置
- excel - 正负百分比的 Excel 条件格式不起作用
- c# - 如何在另一个 ms graph sdk 中获取驱动器的信息