Как удалить страницу в Excel-файле с помощью Python

Привет всем!
В прошлой записи мы рассматривали вариант создания страницы с помощью Python-библиотеки Openpyxl в Excel-файле. Собственно — кому интересно — материал доступен по ссылке. Но иногда (не часто) возникает необходимость действия, которое звучит как: Как удалить страницу в Excel-файле с помощью Python?

Представим себе ситуацию — имеется некий excel-файл, в котором нужно удалить лист.
Так давайте удалим:

import openpyxl #Подключаем библиотеку для работы с Excel
wb = openpyxl.load_workbook(‘testfile.xlsx’) #Открываем Excel-файл
sheet = wb.sheetnames #Получили список всех листов в файле и загнали его в переменную
print(sheet) #Вывели на экран список всех листов в файле
pfd = wb[‘1’] #Сделали активной страницу, которую хотим удалить, где [1] — название страницы. Понятно, что можно сделать ее переменной 😉
wb.remove(pfd)#Удаляем эту страницу
wb.save(‘testdel.xlsx’) #Сохранили файл с изменениями (удаленная страница)

  1. import openpyxl #Подключаем библиотеку для работы с Excel
  2. wb = openpyxl.load_workbook('testfile.xlsx') #Открываем Excel-файл
  3. sheet = wb.sheetnames #Получили список всех листов в файле и загнали его в переменную
  4. print(sheet) #Вывели на экран список всех листов в файле
  5. pfd = wb['1'] #Сделали активной страницу, которую хотим удалить, где [1] - название страницы. Понятно, что можно сделать ее переменной ;)
  6. wb.remove(pfd) #Удаляем эту страницу
  7. wb.save('testdel.xlsx') #Сохранили файл с изменениями (удаленная страница)

Фактически, как видно из кода выше — самым важным является связка:
pfd = wb[‘1’]#делаем страницу активной
wb.remove(pfd)#и тут же удаляем ее

В самое ближайшее время мы узнаем как записывать что-либо в ячейки Excel с помощью Python.
И конечно же — не стесняйтесь задавать вопросы.

UPD: для очистки листа целиком можно использовать метод:
wb.worksheets[sht].clear() (за дополнение спасибо одному из читателей блога 🙂