簡體   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