尝试使用多个变量时出现错误-TypeError:'in <string>'需要将字符串作为左操作数,而不是元组

时间:2019-06-03 14:39:55

标签: python openpyxl

我有一个脚本,该脚本可以通过软件(热混乱)吐出一份报告,并将其分类为可用且令人愉悦的东西

我遇到的问题是当我尝试解析一些列并找到变量并将它们着色为特定颜色以突出显示关键项时出现的

我收到此错误:

  

TypeError:“ in”要求将字符串作为左操作数,而不是元组

如何使它与多个项目一起使用 如果我在
中只使用1个项目,效果很好 “如果单元格不是None,并且'Item1'中的('Item2'str(cell)):"

#Color 01
rownumber = 1

for row in sheet.iter_rows(min_row=2, max_row= sheet.max_row, min_col=1, max_col=4, values_only=True):
    rownumber += 1
    for cell in row:
      if cell is not None and ('Item1','Item2') in str(cell):   
        for row2 in sheet.iter_rows (min_row=rownumber, max_row=rownumber, min_col=1, max_col=12):
            for cell1 in row2:
              cell1.fill = color1_fill

无论有没有',我都尝试过 而且我已经尝试过是否使用双"

1 个答案:

答案 0 :(得分:1)

如错误消息所述,您不能使用in测试字符串中是否有元组。

您似乎需要分别测试它们并合并结果; 如何将它们组合在一起取决于您要寻找的东西(尚不清楚)。例如,

( ('Item1' in str(cell)) and (('Item2') in str(cell)) )

仅在同时存在{em> Item1Item2的情况下为真;如果您只关心一个或另一个存在,请使用or而不是and