如何使用带有openpyxl条件格式的占位符?

时间:2017-06-23 14:37:52

标签: python typeerror openpyxl

我对Python仍然比较陌生,但是我已经玩了一段时间并且无法解决这个问题。

我有一个使用Openpyxl将数据返回到电子表格的查询,我希望条件格式化该电子表格。如果我输入确切的行数,我可以这样做,但行数根据查询而有所不同,所以我试图将其设置为条件格式我的行数,所以我需要一个占位符作为你可以看到下面。我使用一个返回行数的变量num_of_rows。我想说:

ws.conditional_formatting.add(('H3:H%d', CellIsRule(operator='lessThan', formula=['10'],
                               stopIfTrue=True, fill=red_fill)) % (num_of_rows,))

但是我收到了这个错误:

ws.conditional_formatting.add(('H3:H%d',
CellIsRule(operator='lessThan', formula=['10'], stopIfTrue=True,
fill=red_fill)) % (15,))
TypeError: unsupported operand type(s) for %: 'tuple' and 'tuple'

即使我将num_of_rows之后的%变量更改为数字,例如15,也会返回相同的错误。我如何在这里使用占位符?

1 个答案:

答案 0 :(得分:1)

尝试使用此代码

subject.error()

原因是您必须在字符串后面使用ws.conditional_formatting.add(('H3:H%d' % (num_of_rows,), CellIsRule(operator='lessThan', formula=['10'], stopIfTrue=True, fill=red_fill)))运算符,而是尝试在%函数上使用它。