How to Properly Delete Rows in Excel with Python’s openpyxl?
This article walks through a Python‑openpyxl issue where deleting rows leaves blank gaps, explains why row indices may not shift, provides a working code snippet, notes version‑specific behavior, and shares community tips to reliably clean up large Excel sheets.
The author, known as 皮皮, shares a question from a Python community about using openpyxl to delete rows in an Excel file where the row numbers did not shrink after removal, leaving large blank sections.
The spreadsheet contained over 2,800 rows; after deleting more than 1,000 rows with delete_rows, the indices remained unchanged, creating empty rows.
from openpyxl import load_workbook
# Open Excel file
workbook = load_workbook('111.xlsx')
# Select worksheet
worksheet = workbook['Sheet1'] # replace 'Sheet1' with actual sheet name
# Delete a single row (row 5) together with its formatting
worksheet.delete_rows(5)
# Delete rows 3 through 7 (including both ends) together with formatting
worksheet.delete_rows(3, 7)
# Save the updated Excel file
workbook.save('222.xlsx')The code runs correctly in tests, and another community member confirmed it works as expected.
Later contributors noted that versions prior to 3.1.2 may exhibit the described issue, while version 3.1.2 and later handle row deletion properly.
An additional tip from a community member (illustrated in the accompanying screenshot) finally resolved the problem for the original asker.
In summary, the article presents a practical Python automation solution for cleaning up Excel files, offering both the code and version‑specific guidance to ensure rows are removed without leaving gaps.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Python Crawling & Data Mining
Life's short, I code in Python. This channel shares Python web crawling, data mining, analysis, processing, visualization, automated testing, DevOps, big data, AI, cloud computing, machine learning tools, resources, news, technical articles, tutorial videos and learning materials. Join us!
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
