Как удалить строки и столбцы в Excel на языке Python

При работе с большими наборами данных или сложными электронными таблицами часто возникает необходимость удалить ненужные строки и столбцы, чтобы упорядочить данные и улучшить их читаемость. Удаление строк и столбцов в Excel позволяет пользователям устранить лишнюю или избыточную информацию, настроить макет электронной таблицы и сосредоточиться на важных данных.
В этой статье я расскажу, как удалить заданные строки и столбцы в рабочем листе с помощью библиотеки Python Excel.
- Удаление определенных строк и столбцов в Excel в Python
- Удаление пустых строк и столбцов в Excel на Python
Установите библиотеку
Это решение требует установки в качестве зависимости Spire.XLS for Python, которая представляет собой библиотеку Python для чтения, создания и работы с документами Excel XLS и XLSX в программах на Python. Вы можете установить ее, выполнив следующую команду pip.
pip install Spire.XLS
Удаление определенных строк и столбцов в Excel в Python
Для удаления отдельной строки или столбца можно использовать метод Worksheet.DeleteRow(rowIndex) и Worksheet.DeleteColumn(columnIndex); для удаления сразу нескольких соседних строк и столбцов можно использовать метод Worksheet.DeleteRow(startRowIndex, rowCount) и Worksheet.DeleteColumn(startColumnIndex, columnCount).
from spire.xls import *
from spire.xls.common import *
# Create a Workbook object
workbook = Workbook()
# Load an Excel file
workbook.LoadFromFile("Input.xlsx")
# Get the first worksheet
sheet = workbook.Worksheets[0]
# Delete the 9th row
sheet.DeleteRow(9)
# Delete the 3rd column
sheet.DeleteColumn(3)
# Delete the 5th, 6th and 7th rows at once
# sheet.DeleteRow(5, 3)
# Delete the 3rd and 4th columns at once
# sheet.DeleteColumn(3, 2)
# Save the result file
workbook.SaveToFile("DeleteRowsAndColumns.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Удаление пустых строк и столбцов в Excel на Python
Чтобы обнаружить пустые строки и столбцы в рабочем листе Excel, можно использовать свойство Worksheet.Row[rowIndex].IsBlank и свойство Worksheet.Column[columnIndex].IsBlank. Если результат равен True, что означает, что строка или столбец пустые, вы можете удалить их из рабочего листа с помощью методов Worksheet.DeleteRow(rowIndex) и Worksheet.DeleteColumn(columnIndex).
from spire.xls import *
from spire.xls.common import *
# Create a Workbook object
workbook = Workbook()
# Load an Excel file
workbook.LoadFromFile("Input1.xlsx")
# Get the first worksheet
sheet = workbook.Worksheets[0]
# Delete blank rows from the worksheet
for i in range(sheet.Rows.Length — 1, −1, −1):
if sheet.Rows[i].IsBlank:
sheet.DeleteRow(i + 1)
# Delete blank columns from the worksheet
for j in range(sheet.Columns.Length — 1, −1, −1):
if sheet.Columns[j].IsBlank:
sheet.DeleteColumn(j + 1)
# Save the result file
workbook.SaveToFile("DeleteBlankRowsAndColumns.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Заключение
В этой статье вы узнали, как выборочно удалять строки и столбцы в таблице Excel с помощью Spire.XLS for Python. Будучи продвинутой библиотекой Python Excel, она позволяет разработчикам выполнять широкий спектр операций над документами Excel, таких как:
Преобразование Excel в PDF в Python