使用Python重写SPSS变量

2024-10-02 08:23:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我的SPSS数据集包含两个变量,分别名为time1和{},标签分别为time1和{}。最后,我希望使用Python读取变量并修改它们。作为一个简单的测试,我尝试将time1的每个条目替换为"hello"。这是我使用的SPSS语法:

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.

但我得到了以下错误:

Warning: An open Cursor was detected while exiting a program block. The Cursor has been closed. Traceback (most recent call last):
File "", line 5, in File "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

我错过了什么?非常感谢。在

我的变量:

My variables


Tags: 数据inhellofordataindexlineprogram
1条回答
网友
1楼 · 发布于 2024-10-02 08:23:32

不能使用Python使用spssdata模块覆盖数据,因为它使用了来自spss模块的Cursor对象,该对象不能覆盖变量。可以使用Python创建新变量并设置其值。然后还可以删除旧变量并将新变量重命名为与旧变量相同的名称。在

摘自IBM SPSS Statistics 23:IBM SPSS Statistics and SAS用户指南,第167页:

write mode allows you to add new variables (and their case values) to the active dataset

相关问题 更多 >

    热门问题