之前已經對iter函數的用法有過講解,記憶遺忘的小伙伴可以重新回顧一遍。今天就iter函數的拓展,講講openpyxl中導入iter_rows()的方法。
當我們使用以下代碼:
import openpyxl as op
ms = op.load_workbook('mtest.xlsx')
ws = ms.active
op.worksheet.Worksheet.iter_rows()
然后會出現,此代碼返回:
type object 'Worksheet' has no attribute 'iter_rows'
怎么會出現這種情況?
這說明,您需要在工作表的實例上調用iter_rows方法,例如:
>>> for row in ws.iter_rows('A1:C2'):
... for cell in row:
... print cell
要么
>>> for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
... for cell in row:
... print(cell)
正如您的錯誤消息所述,您在Worksheet類型上調用它,這將無效;它需要在一個對象上調用:
op.worksheet.Worksheet.iter_rows() # wrong
對于舊版本的openpyxl,您可能需要確保在加載工作簿時啟用迭代器 –對于更新版本,這不是必需的。
以下是一個完整的例子在Py