尝试使用SPSS/Python,我想更改某些变量的变量名。
例如,我需要所有带有
oldname = t1XXX更改为newname = t01XXX
试着玩我在这里找到的代码(像下面),但不能正确地改变这一点来做我需要的。谢谢你的提示!
来自Jignesh Sutar的例子;strip-suffix-from-all-variable-names-in-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.
下面是一个程序。它首先为所有以t开头的名称创建一个变量字典,后面跟着一个数字,然后是一个非数字。然后生成一个RENAME VARIABLES命令,添加一个前导0。
代码如下:
import spss, spssaux
vardict = spssaux.VariableDict(pattern="tdD")
newnames = [v[0] + "0" + v[1:] for v in vardict.variables]
cmd = """rename variables (%s=%s)""" %
(" ".join(vardict.variables), " ".join(newnames))
spss.Submit(cmd)