尝试使用SPSS / Python我想更改某些变量的变量名称 例如,我需要使用
的所有变量oldname = t1XXX更改为newname = t01XXX
尝试使用我在这里找到的代码(如下所示),但无法正确更改以执行我需要的操作。谢谢你的任何提示!
Jignesh Sutar的例子;带后缀从 - 全可变名称合SPSS / 34816192#34816192)
begin program.
spss.Submit(r"set mprint on.")
import spss, spssaux
allvarlist=[str(v) for v in spssaux.VariableDict()]
filteredvarlist=[v for v in allvarlist if v.endswith("_1")]
spss.Submit( "rename variables (\n" \
+ "\n".join(filteredvarlist) \
+ "\n=\n" \
+ "\n".join([v[:-2] for v in filteredvarlist]) \
+ ").")
spss.Submit(r"set mprint off.")
end program.
答案 0 :(得分:2)
这是一个执行此操作的程序。它首先为所有名称创建一个变量字典,以t开头,后跟一个数字后跟一个非数字。然后它生成一个RENAME VARIABLES命令,添加一个前导0。
以下是代码:
import spss, spssaux
vardict = spssaux.VariableDict(pattern="t\d\D")
newnames = [v[0] + "0" + v[1:] for v in vardict.variables]
cmd = """rename variables (%s=%s)""" % \
(" ".join(vardict.variables), " ".join(newnames))
spss.Submit(cmd)