Python 行的循环和XLSXwriter格式

Python 行的循环和XLSXwriter格式,python,loops,xlsxwriter,Python,Loops,Xlsxwriter,我有一个工作簿,其中包含许多要在创建后格式化的工作表,并且我希望根据列更改标题行的颜色。例如,我希望前9列是一种颜色,然后第10列应该是另一种颜色,然后所有其他列都应该是第三种颜色 这就是我正在循环的内容…它有点工作,但是第0行中的所有单元格都以相同的颜色结束;最后指定的颜色始终覆盖前面的列 visitFormat = mtbook.add_format({'bg_color':'#e9ccfc'}) cognotesFormat = mtbook.add_format({'bg_color':

我有一个工作簿,其中包含许多要在创建后格式化的工作表,并且我希望根据列更改标题行的颜色。例如,我希望前9列是一种颜色,然后第10列应该是另一种颜色,然后所有其他列都应该是第三种颜色

这就是我正在循环的内容…它有点工作,但是第0行中的所有单元格都以相同的颜色结束;最后指定的颜色始终覆盖前面的列

visitFormat = mtbook.add_format({'bg_color':'#e9ccfc'})
cognotesFormat = mtbook.add_format({'bg_color':'#d2eff2'})
filedateFormat = mtbook.add_format({'bg_color':'#8cbcff'})

for worksheet in mtbook.worksheets():
    print(worksheet)
    # for every column
    for i in range(len(subreportCols)):
        # set header bgcolor based on current column (i)
        if [i] in range(0,11):
            useheader = visitFormat
        elif [i] == 10:
            useheader = cognotesFormat
        else:
            useheader = filedateFormat
        # Write the value from cell (first row, column=1) back into that cell with formatting applied
        worksheet.write(0, i, subreportCols[i], useheader)
我对此感到困惑,因为我认为这是在分别写每一个专栏。我需要一个细胞一个细胞地做吗


谢谢大家!

通过故障排除解决了这个问题,留下来以防它对其他人有帮助(毕竟有一个“回答你的问题”按钮)

在这方面:

if [i] in range(0,11):
…我以为我在做的是使用[I]作为列表中第I个值的引用,但实际上我引用的是整个列表。我用“我”换了“我”,效果很好