SPSS - Python spss.Submit OUTPUT EXPORT循环解决方法

时间:2014-03-30 20:06:25

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

尝试使用三个变量循环以将表导出为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.

1 个答案:

答案 0 :(得分:0)

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

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