Удалить строки в зависимости от заполнения столбца.Python, Exсel, Win32com - PullRequest
0 голосов
/ 02 марта 2019

Добрый день, мне нужна программа, чтобы удалить всю строку, если в столбце B цвет заливки черный.Чтобы остались только строки с серой заливкой.

введите описание изображения здесь

Я пробую это:

 excel = win32com.client.Dispatch("Excel.Application") 
 wb = excel.ActiveWorkbook
 sheet = wb.ActiveSheet

 i = sheet.Cells.SpecialCells(xlCellTypeLastCell).Row
 while i >= 1:
     if self.Rows(i).Interior.ColorIndex == 0:
          self.Rows(i).Delete()
     i += -1

Но не уверенчто правильно, плюс ошибка:

NameError: name 'xlCellTypeLastCell' is not defined

1 Ответ

0 голосов
/ 05 марта 2019

Как удалить ячейки на листе Excel, отмеченные черным цветом, с использованием python?

Предполагается:

  • Рабочий лист является активным рабочим листом
  • Ячейки находятся во втором столбце и помечены заливкой черного цвета
  • Мы не знаем, сколько ячеек в рабочей таблице

код:

import win32com.client as win32client

excel = win32client.gencache.EnsureDispatch('Excel.Application')
sheet = excel.Application.ActiveSheet
range_ = sheet.Range("B:B")
for cell in range_:
    if cell.Interior.ColorIndex == 1:
        cell.Delete()
...