繁体   English   中英

使用Python覆盖SPSS变量

[英]Using Python to overwrite SPSS variable

我的SPSS数据集包含两个名为time1time2变量,分别标记为time1time2 最终,我想使用Python读取变量并进行修改。 作为一个简单的测试,我试图用"hello"替换time1每个条目。 这是我正在使用的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.

但是我收到以下错误:

警告:退出程序块时检测到打开的游标。 光标已关闭。 追溯(最近一次通话):
文件“ C:\\ PROGRA〜1 \\ PREDIC〜1 \\ PSIMAG〜1 \\ 5 \\ IBM \\ SPSS \\ STATIS〜1 \\ 25 \\ PYTHON \\ Lib \\ site-packages \\ spssdata \\ spssdata.py中的文件”“,第5行“,第467行,在setvalue索引中= [varspec [0]对于self.newvars中的varspec]。index(var)ValueError:'time1'不在列表中

我在这里想念什么? 谢谢。

我的变量:

我的变量

无法使用spssdata模块使用Python覆盖数据,因为它使用了spss模块中的Cursor对象,该对象无法覆盖变量。 可以使用Python创建一个新变量并设置其值。 然后,您也可以删除旧变量,然后将新变量重命名为与旧变量相同的名称。

摘自《 IBM SPSS Statistics的编程和数据管理23:IBM SPSS Statistics和SAS用户指南》 ,第167页:

写入模式允许您将新变量(及其大小写值)添加到活动数据集中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM