将 Openpyxl 从 2.3.2 更新到 2.4.1 会导致 .rows[rowNumber] 出错,是否有解决方法?
Updating Openpyxl from 2.3.2 to 2.4.1 causes error with .rows[rowNumber] is there a workaround?
我刚刚更新了 openpyxl,因为我需要一些新功能,但现在这破坏了我所有的旧脚本。这是我遇到的主要错误:
TypeError: 'generator' object has no attribute '__getitem__'
在很多情况下,我会取一行或一列,然后将其存储为列表:
templateHeaders = []
for templateHeader in activeSheet.rows[0]:
templateHeaders.append(templateHeader.value)
现在 .rows[rowNumber]
或 .columns[columnNumber]
不再有效。我试过将其更改为 .iterrows
,但其中的 none 与我的其余代码一起使用,例如它会给出错误,提示元组没有值。
2.4 release notes 中对此进行了介绍:ws.rows
和 ws.columns
现在总是 return 生成器。
第一行的单元格可能只需要 for cell in activeSheet[1]
。
我刚刚更新了 openpyxl,因为我需要一些新功能,但现在这破坏了我所有的旧脚本。这是我遇到的主要错误:
TypeError: 'generator' object has no attribute '__getitem__'
在很多情况下,我会取一行或一列,然后将其存储为列表:
templateHeaders = []
for templateHeader in activeSheet.rows[0]:
templateHeaders.append(templateHeader.value)
现在 .rows[rowNumber]
或 .columns[columnNumber]
不再有效。我试过将其更改为 .iterrows
,但其中的 none 与我的其余代码一起使用,例如它会给出错误,提示元组没有值。
2.4 release notes 中对此进行了介绍:ws.rows
和 ws.columns
现在总是 return 生成器。
第一行的单元格可能只需要 for cell in activeSheet[1]
。