• python+openpyxl 获取最大行数,不是真正想获取的行数,导致替换时,报”NoneType' object has no attribute 'find'


    问题描述:

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

  • 相关阅读:
    呵呵
    geoserver中WMS服务详细说明
    Linux的用户和用户组管理
    linux ftp配置
    linux下vi命令大全
    linux基本命令大全
    Python ConfigParser
    java 小程序分析:参数传递
    java final
    java静态初始化块(静态域)
  • 原文地址:https://www.cnblogs.com/cuitang/p/14818440.html
Copyright © 2020-2023  润新知