Я использую Python и OpenPyXL для объединения двух отчетов Excel.
Когда в отчете есть строка со всеми нулевыми значениями, эту строку следует удалить.
Команда для удаления строк кажется достаточно простой, но она просто не работает. В другом посте предлагается, что удаление строк не подходит для append
. Я не использую эту функцию, но, может быть, есть и другие привередливые биты?
Я обрабатываю файлы Excel, открывая и сохраняя группы действий. Вот версия кода для комментария к коду, где я удаляю эти строки.
# Get WB
# Get WS
i = 0
del_rows = []
for row in ws.iter_rows():
i += 1
if row[0].value is None:
# INVALID DATA ROW - BLANK ROW
else:
rowcellvals = []
j = 0
for cell in row:
j += 1
if cell.value == row[0].value:
# INVALID COLUMN VAL - SKIP ACC NAME COL
continue
elif cell.value is None:
# SKIP TITLE ROWS
break
else:
# VALID DATA ROW
if j % 2 == 0:
rowcellvals.append(cell.value)
if not rowcellvals:
continue
else:
if sum(rowcellvals) == 0:
del_rows.append(i)
for r in del_rows:
ws.delete_rows(r, 1)
# SAVE
Есть идеи, почему удаление строк не удаляет?