【问题标题】:openpyxl IF Formula and iterating over multiple rows until you reach an empty rowopenpyxl IF 公式并遍历多行,直到到达空行
【发布时间】:2020-06-02 17:49:25
【问题描述】:

这是一个由 3 部分组成的问题: 1. 使用 openpyxl 输入以下内容时,我收到此警报(“我们发现 'Risks Chartio Import Py Test.xlsx' 中的某些内容存在问题。您希望我们尽可能多地恢复吗?如果您相信此工作簿的来源,请单击是。”)

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. 如何识别文件中包含数据的最后一行,然后迭代上面的公式直到到达该行?

谢谢!

【问题讨论】:

    标签: python excel openpyxl


    【解决方案1】:
    1. 您的公式中有一组多余的引号 ("..."),只需删除它们:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-13
      • 2021-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多