我对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
,也会返回相同的错误。我如何在这里使用占位符?
答案 0 :(得分:1)
尝试使用此代码
subject.error()
原因是您必须在字符串后面使用ws.conditional_formatting.add(('H3:H%d' % (num_of_rows,), CellIsRule(operator='lessThan', formula=['10'], stopIfTrue=True, fill=red_fill)))
运算符,而是尝试在%
函数上使用它。