【问题标题】:SPSS - Python spss.Submit OUTPUT EXPORT loop workaroundSPSS - Python spss.Submit OUTPUT EXPORT 循环解决方法
【发布时间】:2023-03-19 20:51:01
【问题描述】:

尝试循环使用三个变量以将表格导出为 HTML。但 spss.Submit() 不适用于 OUTPUT EXPORT。可能的解决方法是循环 SPSS(我不知道如何)来导出文件。请帮忙。

代码如下:

BEGIN PROGRAM PYTHON.
import spss
category_to_product = {9006: [601, 602, 603]}
for categoryid,productnumbers in category_to_product.iteritems():
    for productid in productnumbers:
  path="'C:\Users\ZZZZZZ\Desktop\WWWW\XXXX\YYYY\%sSingle.htm'" %(productid)
  spss.Submit("""
USE ALL.
COMPUTE filter_$=(CATEGORYLOOP =  %s).
VARIABLE LABELS filter_$ 'Household Product Benchmarks'.
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE.


********************************************************************************Single Table.
OUTPUT CLOSE ALL.
CTABLES
  /VLABELS VARIABLES=Q11BI Q10 Advocacy Q11C_1 Q11C_2 Q11C_3 Q11C_4 Q11C_5 Q11C_6 Q11C_7 Q11C_8 Q11C_9 Q11C_10 Q11C_11 Q11C_12 Q10B_2 Q10B_3 Q10B_4 Q10B_5 Q10B_6 Q10B_7 Q10B_8 Q10B_9 PRODUCTLOOP 
    DISPLAY=LABEL
  /TABLE Q11BI [C][COLPCT.COUNT PCT40.0]  + Q10 [C][COLPCT.COUNT PCT40.0] + Advocacy [COLPCT.COUNT PCT40.0] +  Q11C_1 [C][COLPCT.COUNT PCT40.0] + Q11C_2 [C][COLPCT.COUNT PCT40.0] + Q11C_3 [C][COLPCT.COUNT PCT40.0]
+ Q11C_4 [C][COLPCT.COUNT PCT40.0] + Q11C_5 [C][COLPCT.COUNT PCT40.0] + Q11C_6 [C][COLPCT.COUNT PCT40.0] + Q11C_7 [C][COLPCT.COUNT PCT40.0]
+ Q11C_8 [C][COLPCT.COUNT PCT40.0] + Q11C_9 [C][COLPCT.COUNT PCT40.0] + Q11C_10 [C][COLPCT.COUNT PCT40.0] + Q11C_11 [C][COLPCT.COUNT PCT40.0]
+ Q11C_12 [C][COLPCT.COUNT PCT40.0] 
+ Q10B_2 [C][COLPCT.COUNT PCT40.0]
+ Q10B_3 [C][COLPCT.COUNT PCT40.0]
+ Q10B_4 [C][COLPCT.COUNT PCT40.0]
+ Q10B_5 [C][COLPCT.COUNT PCT40.0]
+ Q10B_6 [C][COLPCT.COUNT PCT40.0]
+ Q10B_7 [C][COLPCT.COUNT PCT40.0]
+ Q10B_8 [C][COLPCT.COUNT PCT40.0]
+ Q10B_9 [C][COLPCT.COUNT PCT40.0]
BY 
    PRODUCTLOOP [C]
  /SLABELS POSITION=ROW
  /CATEGORIES VARIABLES=Q11BI ORDER=A KEY=VALUE EMPTY=INCLUDE TOTAL = YES POSITION=BEFORE
  /CATEGORIES VARIABLES=PRODUCTLOOP[%s, OTHERNM] EMPTY=EXCLUDE
  /CATEGORIES VARIABLES=Q10 Advocacy Q11C_1 Q11C_2 Q11C_3 Q11C_4 Q11C_5 Q11C_6 Q11C_7 Q11C_8 Q11C_9 Q11C_10 Q11C_11 Q11C_12 Q10B_2 Q10B_3 Q10B_4 Q10B_5 Q10B_6 Q10B_7 Q10B_8 Q10B_9 ORDER=D KEY=VALUE EMPTY=INCLUDE TOTAL = YES POSITION=BEFORE.

OUTPUT EXPORT
 /CONTENTS EXPORT =ALL LAYERS=PRINTSETTING MODELVIEWS =PRINTSETTING
 /HTML DOCUMENTFILE =%s
 NOTESCAPTIONS =YES IMAGEFORMAT =JPG
 /JPG PERCENTSIZE=100 GRAYSCALE=NO.

""" %(categoryid, productid, path))
END PROGRAM.

【问题讨论】:

    标签: loops python-3.x export output spss


    【解决方案1】:

    OUTPUT EXPORT 在提交中确实有效。尝试打印您提交的语法以查看实际运行的内容,

    还要注意,某些形式为 \letter 的序列作为转义序列具有特殊含义。例如,\t 将被转换为制表符。在文字前使用 r 以防止转义序列解释,使用正斜杠或双反斜杠。

    【讨论】:

      猜你喜欢
      • 2023-03-29
      • 2019-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多