簡體   English   中英

反向刪除行但跳過 header 行

[英]Delete rows in reverse but skip header row

我試圖找到一種方法來使用openpyxl在excel工作表中使用.=反向刪除行,但跳過header第1行。

以下方式刪除 header 行,我不知道如何添加跳過第 1 行:

for c in reversed(ws7['M']): 
    if c.value != 'Integration Live': 
        ws7.delete_rows(c.row)

我可以在下面以這種方式刪除而無需反轉,但無法弄清楚如何反轉它,以便在刪除過程中索引不會被弄亂(導致刪除過程丟失了一些行)。

for row in ws7.iter_rows(min_col=13, max_col=13, min_row=2, max_row=None):
    if row[12].value != 'Integration Live':
        ws7.delete_rows(row[12].row)

關於如何在跳過 header 行時反向刪除行的任何建議?

我已經嘗試過了,但得到了一個例外:

for row in reversed(ws7.iter_rows(min_col=None, max_col=None, min_row=2, max_row=None)):
    if row[12].value != 'Integration Live':
        ws7.delete_rows(row[12].row)

在此處輸入圖像描述

由於ws['M']返回一個元組,最簡單的事情是忽略第一個元素:

cells = ws['M'][1:]
for row in reversed(cells):
    …

解決了:

for c in reversed(ws7['M'][1:]):
    if c.value != 'Integration Live':
        ws7.delete_rows(c.row)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM