SPSS / Python-访问变量标签

时间:2019-02-01 03:16:52

标签: python for-loop key spss

我正在尝试使用Python在SPSS中的for循环中访问变量标签。 for循环遍历一系列变量,删除1-3,并按5个变量的顺序重命名4和5。效果很好,但是现在当尝试通过SPSS访问变量标签时,我遇到了“ unicode对象没有属性键”错误。

我认识到我需要以某种方式引用键而不是数组中的字符串,但是作为一个新手程序员,我正在努力寻找如何更新现有代码的方法:

RemoveAll()

任何帮助将不胜感激。

1 个答案:

答案 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) + ".")