首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spss:重命名变量标签

spss:重命名变量标签
EN

Stack Overflow用户
提问于 2015-03-31 14:46:19
回答 2查看 736关注 0票数 1

我有一个变量标签的列表,我想把它们大写起来

(即)可变标签

代码语言:javascript
复制
 L0K3V       "PROBLÈME AVEC VOS ENFANTS"
 PK34        "QUEL ÂGE AVIEZ-VOUS?"
 ML9KL       "RÉPONDANT A-T'IL DÉJA ÉTÉ LÉGALEMENT MARIÉ(E)"
 ...

程序

代码语言:javascript
复制
BEGIN PROGRAM PYTHON. 
import spss 

spss.StartDataStep() 
#current dataset 
datasetObj = spss.Dataset() 

varcount=spss.GetVariableCount() 
#populate a list or all the Variable Label 
varNameList= [spss.GetVariableLabel(i) for i in xrange(varcount) ] 
labellist=[] 
for i in xrange(varcount): 
  myLabel = spss.GetVariableLabel(i)
  newLabel = myLabel.capitalize() 
  spss.Submit(r""" rename labels (%s = %s) . """ %(myLabel, newLabel))

spss.EndDataStep() 
END PROGRAM. 



Traceback (most recent call last): 
  File "<string>", line 22, in <module> 
  File "C:\PROGRA~1\IBM\SPSS\STATIS~1\22\Python\Lib\site-packages\spss\spss.py", line 1527, in Submit 
    raise SpssError,error 
spss.errMsg.SpssError: [errLevel 98] Submit cannot be used from within a Datastep.
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-31 15:30:19

1)您有一个错误,建议提交不能从数据集中使用。

2) 可变标号是重命名变量的正确命令。

以下是实现这一目标的简化方法:

代码语言:javascript
复制
get file="C:\Program Files\IBM\SPSS\Statistics\23\Samples\English\Employee data.sav".
begin program.
import spss, spssaux, spssdata
spss.Submit("set mprint on.")
vd=spssaux.VariableDict()
spss.Submit("VARIABLE LABEL %s." % ("\n".join(["%s '%s' " % (str(v), v.VariableLabel.capitalize())  for v in vd])))
spss.Submit("set mprint off.")
end program.
票数 2
EN

Stack Overflow用户

发布于 2015-04-01 02:37:08

还可以设置变量label属性(v.VariableLabel =“.”)而不是生成变量标签命令。如果您想要的是标题大小写,则只需执行v.VariableLabel = v.VariableLabel.title()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29371494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档