openpyxl IF 公式并迭代多行直到到达空行

openpyxl IF Formula and iterating over multiple rows until you reach an empty row

这是一个由 3 部分组成的问题: 1. 当使用 openpyxl 输入以下内容时,我收到此警报 ("We found a problem with some content in 'Risks Chartio Import Py Test.xlsx'. Do you want us to try to recover as much as we can? If you trust the source of this workbook, click Yes.")

sheet ['N2'] = '="IF(AND(M2>0,M2<=1),"01-VERY LOW",IF(AND(M2>1,M2<=4),"02-LOW", IF(AND(M2>4,M2<=9),"03-MEDIUM",IF(AND(M2>9,M2<=16),"04-HIGH",IF(AND(M2>16,M2<=25),"05-CRITICAL")))))"'

如何修正上面的代码,以便公式在我的 xlsx 文件中有效

  1. 如何识别文件中包含数据的最后一行,然后迭代上面的公式直到到达该行?

谢谢!

  1. 您的公式中有一组多余的引号 ("..."),只需将其删除:

sheet ['N2'] = '=IF(AND(M2>0,M2<=1),"01-VERY LOW",IF(AND(M2>1,M2<=4),"02-LOW", IF(AND(M2>4,M2<=9),"03-MEDIUM",IF(AND(M2>9,M2<=16),"04-HIGH",IF(AND(M2>16,M2<=25),"05-CRITICAL")))))'

  1. 要获取带有 openpyxl 的文件的最后一行,只需使用 worksheet.max_row,这将为您提供该文件中使用的最后一行(请注意,包含数据的行被删除不被视为 "empty",因为它们中有一个空字符串。

  2. 要遍历工作表的列和行,请参阅