我正在尝试使用Python在SPSS中的for循环中访问变量标签。 for循环遍历一系列变量,删除1-3,并按5个变量的顺序重命名4和5。效果很好,但是现在当尝试通过SPSS访问变量标签时,我遇到了“ unicode对象没有属性键”错误。
我认识到我需要以某种方式引用键而不是数组中的字符串,但是作为一个新手程序员,我正在努力寻找如何更新现有代码的方法:
RemoveAll()
任何帮助将不胜感激。
答案 0 :(得分:1)
线
spss.Submit('variable labels %s "%s" [TimeStamp]' % (myvar,varlabel) + ".")
是造成您麻烦的原因。
[TimeStamp]位基本上是告诉python在字典中查找名为“ TimeStamp”的键,但是在[TimeStamp]之前,它找不到正确的数据结构-即字典-但没有找到正确的数据结构有钥匙。也许这样可以使它更清晰:
myDict = {
"varname": "myVariable",
"label": "This is myVariable's label!",
"TimeStamp": "20190204-0814"
}
print (myDict["varname"])
print (myDict["TimeStamp"])
>>> myVariable
>>> 20190204-0814
Python正在寻找这样的数据结构,并希望查找键“ TimeStamp”。现在,我假设您只是希望标签读取“分配了[TimeStamp]的变量标签”?
只需将两行更改为
spss.Submit('variable labels %s "%s" + " [TimeStamp]"' % (myvar,varlabel) + ".")