問題描述:
使用excel對接口的數據進行管理,添加接口數據時,可能習慣性選擇多行,設置了格式,導致多選了很多空行也被設置了格式,在讀取這個sheet的最大行數時,發現有問題,獲取到了為None的空行,導致后面的查找方法find,報錯”AttributeError: 'NoneType' object has no attribute 'find'”
openpyxl分析:
openpyxl里sheet.max_row可以獲取最大行,但是這個變量有個問題,就是對那些原先有數據,后來又刪除的表,容易出現獲取最大行不是所需要值的情況,這是因為openpyxl把一些格式改變過的單元格也算成有效行了。
具體問題:
截圖:這個sheet的最大行數是19,實際通過openpyxl讀取到的是79
實際讀取到的有79行,其他行,估計有做過單元格的格式,導致被openpyxl認為是有效的行
解決方案
1:嘗試將空行的格式刪除,再進行獲取,發現獲取到的最大行數還是有問題;不行
2:新建一個sheet,將需要的內容,復制過去,然后就可以正確獲取行數了