zoukankan      html  css  js  c++  java
  • 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,将需要的内容,复制过去,然后就可以正确获取行数了

  • 相关阅读:
    Git 操作
    SVN
    一维数组
    常见的数学方法
    常用事件
    function函数
    while;do while; for循环
    JS中的变量提升
    关于js的单双引号嵌套问题
    db.collection is not a function
  • 原文地址:https://www.cnblogs.com/cuitang/p/14818440.html
Copyright © 2011-2022 走看看