繁体   English   中英

如何使用 openpyxl 3.03 找到 excel 的最后一个非空行?

[英]How can I find the last non-empty row of excel using openpyxl 3.03?

如何使用 python 和 openpyxl 找到整个 xlsx 工作表的最后一个非空行的编号?

文件的单元格之间可以有空行,末尾的空行可能包含已删除的内容 此外,我不想给出特定的列,而是检查整个表。

例如图片中的最后一个非空行是第 13 行。

在此处输入图像描述

我知道这个主题已被广泛讨论,但我还没有在 inte.net 上找到确切的解决方案。

# Open file with openpyxl
to_be = load_workbook(FILENAME_xlsx)
s = to_be.active

last_empty_row = len(list(s.rows))
print(last_empty_row)
## Output: 13

s.rows是一个生成器,它的列表包含每个行单元格的 arrays。

openpyxl的 class Worksheet具有属性max_rows

如果您正在使用 python 和 openpyxl 查找整个 xlsx 工作表的最后一个非空行。

尝试这个:

import openpyxl

def last_active_row():
    workbook = openpyxl.load_workbook(input_file)
    wp = workbook[sheet_name]
    last_row = wp.max_row
    last_col = wp.max_column
    
    for i in range(last_row):
        for j in range(last_col):
            if wp.cell(last_row, last_col).value is None:
                last_row -= 1
                last_col -= 1 
            else:
                print(wp.cell(last_row,last_col).value) 
    print("The Last active row is: ", (last_row+1)) # +1 for index 0

if __name__ = '___main__':
last_active_row()

这应该有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM