问题描述:
使用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,将需要的内容,复制过去,然后就可以正确获取行数了