【问题标题】:How to retrieve some output values from SPSS Custom Tables?如何从 SPSS 自定义表中检索一些输出值?
【发布时间】:2015-04-24 22:59:24
【问题描述】:

我一直在尝试从 SPSS 自定义表中检索一些特定的输出值并将它们导出到 Excel。 问题是我的 Ctables 语法生成了 2 个不同的表,我想从这两个表中检索一些特定的输出值,然后导出到 Excel。 Link to screenshot of SPSS custom tables。我已经用红色突出显示了我想要检索的值。我正在尝试以 XML 格式检索这些值,但我收到一条错误消息。这是代码。

      *1. Retrieve some output values and insert them into text.
 begin program.
import spssaux
gar="CTABLES
    /VLABELS VARIABLES=Institution RES_PAY Status DISPLAY=LABEL
    /TABLE  Status [C] > RES_PAY [C] BY Institution [C][COUNT F40.0, COLPCT.COUNT PCT40.1]
   /CATEGORIES VARIABLES=Institution ORDER=A KEY=VALUE EMPTY=INCLUDE  TOTAL=YES POSITION=AFTER
   /CATEGORIES VARIABLES=RES_PAY EMPTY=INCLUDE
   /CATEGORIES VARIABLES=Status ORDER=A KEY=VALUE EMPTY=INCLUDE
   /SIGTEST TYPE=CHISQUARE ALPHA=0.05 INCLUDEMRSETS=YES  CATEGORIES=ALLVISIBLE."


   cmd = spssaux.CreateXMLOutput(gar, visible=True)
   result=spssaux.GetValuesFromXMLWorkspace(cmd, 'CTABLES', cellAttrib ='text',colCategory='Cat1', rowCategory='Research with pay',rowSubCategory='Yes')
   result1=spssaux.GetValuesFromXMLWorkspace(cmd, 'CTABLES', tableSubtype='CHISQUARE', cellAttrib = 'text',colCategory='Status', rowCategory='Research with pay',rowSubCategory='Sig.')
   OUTPUT NEW
   print result[1]
   print result1[1]

   end program.

  *2. Export output to Excel.

  OUTPUT EXPORT
  /CONTENTS EXPORT= ALL LAYERS=PRINTSETTING MODELVIEWS=PRINTSETTING
 /XLSX DOCUMENTFILE='U:/report1.xlsx' 
 OPERATION=CREATEFILE 
 LOCATION=STARTCELL('C4') NOTESCAPTIONS=YES.

这是我收到的错误消息

 File "<string>", line 4
    gar="CTABLES
     SyntaxError: EOL while scanning string literal      ^

谁能帮我写代码?

【问题讨论】:

  • 我对 xml 方法不是最熟悉,但它可能是您尝试做的事情,可以通过其他方式完成。如果你能描述你想要达到的目标,我可以尝试帮助。
  • 有哪些语言可供选择?
  • 感谢您的回复,@JigneshSutar。我的目标是从 SPSS 自定义表中检索一些值并将其导出到同一个 Excel 表中的不同选项卡。这是我的 SPSS 自定义表 [链接] (imgur.com/xKz4KTu) 的快照,其中以红色突出显示的值是我要从表中检索并将它们导出到 excel 的值。如果您有任何其他问题,请告诉我。

标签: xml spss


【解决方案1】:

Python 代码中有语法错误。以 gar= 开头的行引入了多行文字,因此您需要用三引号将其括起来,

gar="""CTABLES
/VLABELS VARIABLES=机构 RES_PAY 状态显示=标签
/TABLE 状态 [C] > RES_PAY [C] 按机构 [C][COUNT F40.0, COLPCT.COUNT PCT40.1]
/CATEGORIES VARIABLES=机构 ORDER=A KEY=VALUE EMPTY=INCLUDE TOTAL=YES POSITION=AFTER
/类别变量=RES_PAY EMPTY=包含
/CATEGORIES VARIABLES=状态 ORDER=A KEY=VALUE EMPTY=INCLUDE
/SIGTEST TYPE=CHISQUARE ALPHA=0.05 INCLUDEMRSETS=YES CATEGORIES=ALLVISIBLE。"""

但是,一旦获得这些值,您只是将它们打印到查看器并将所有内容导出到查看器,这可能不是您想要的,因为这些值已经在要导出的表中。这似乎是一种非常迂回的方式来完成这一切。如果您描述整个过程,也许可以找到更简单的解决方案。

【讨论】:

  • 谢谢。我的目标是从 SPSS 自定义表中检索一些值并将其导出到同一个 Excel 表中的不同选项卡。这是我的 SPSS 自定义表 [链接] (imgur.com/xKz4KTu) 的快照,其中以红色突出显示的值是我想要从表中检索并将它们导出到 excel 的值(在同一电子表格中的不同位置)。如果您有任何其他问题,请告诉我。
猜你喜欢
  • 2015-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-21
  • 1970-01-01
  • 2021-02-01
  • 1970-01-01
相关资源
最近更新 更多