xlsxwriter 条件格式在循环中不起作用

xlsxwriter conditional formatting doesn't work in loops

当使用 xslxwriter worksheet.conditional_format() 时,以下工作:

i = 1
worksheet.conditional_format(1,i,17,i, {'type':     'cell',
                                    'criteria': 'between',
                                    'minimum':  1,
                                    'maximum':  3,
                                    'format':   format1,
                                    }) 

但是如果你尝试像这样循环:

for i in np.arange(1,12):                               
    worksheet.conditional_format(1,i,17,i, {'type':     'cell',
                                        'criteria': 'between',
                                        'minimum':  dev1_pos,
                                        'maximum':  dev2_pos-0.01,
                                        'format':   format1_a,
                                        })

它说你有一个缩进错误

    worksheet.conditional_format(1,i,17,i, {'type':     'cell',
            ^
IndentationError: expected an indented block

这是一个错误还是我做错了?

你可以试试一行代码,我把最后,去掉了:

for i in np.arange(1,12):                               
    worksheet.conditional_format(1,i,17,i, {'type': 'cell', 'criteria': 'between', 'minimum':  dev1_pos, 'maximum':  dev2_pos-0.01, 'format':   format1_a})

或者也许有帮助:

for i in np.arange(1,12):                               
    worksheet.conditional_format(1,i,17,i, {'type':     'cell', \
                                        'criteria': 'between', \
                                        'minimum':  dev1_pos,\
                                        'maximum':  dev2_pos-0.01, \
                                        'format':   format1_a
                                        })

编辑:

我想你可以在 worksheet.conditional_format... 之前检查 Intendation

错误:

IndentationError: expected an indented block

是一个 Python 错误,与 XlsxWriter 无关。

这是由程序中的一些"indentation"问题引起的。最常见的一种是混合制表符和空格。在您的编辑器中打开空格突出显示并检查缩进是否一致。