2014-03-30 25 views
0

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

代码:

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. 

回答

0

实现输出不工作,提交。尝试打印您提交的语法来看看什么是真正的正在运行,

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