Python / SPSS重命名变量名称

时间:2016-10-21 23:16:39

标签: python spss

尝试使用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.

1 个答案:

答案 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)