Я пытаюсь удалить все строки из листа Excel, которые удовлетворяют этому условию: все ячейки в строке должны содержать только значения "-" или "".
Я использую Python и openpyxl.
Но мой код не работает должным образом:
import openpyxl
wb1 = openpyxl.load_workbook(filename="testat_openpyxl.xlsx")
instr=""
for i in range(5, wb1["Centralizator"].max_row):
for j in range(7,49):
celval=wb1["Centralizator"].cell(row=i,column=j).value
ins='{}=="-" or {}=="" and '.format(celval)
instr=instr + ins
if instr[:-3]:
wb1["Centralizator"].delete_rows(i,1)
wb1.save('testat_openpyxl.xlsx')
Моя идея состоит в том, чтобы создать большой оператор if, чтобы проверить все ячейки в строке:
if wb1["Centralizator"].cell(row=5,column=7).value=="-" or
wb1["Centralizator"].cell(row=5,column=7).value=="" and
wb1["Centralizator"].cell(row=5,column=8).value=="-" or
wb1["Centralizator"].cell(row=5,column=8).value==""
wb1["Centralizator"].cell(row=5,column=9).value=="-" or
wb1["Centralizator"].cell(row=5,column=9).value==""
.........loop until column 48............
wb1["Centralizator"].cell(row=5,column=48).value=="-" or
wb1["Centralizator"].cell(row=5,column=48).value==""
now jump to next row
if wb1["Centralizator"].cell(row=6,column=7).value=="-" or
wb1["Centralizator"].cell(row=6,column=7).value=="" and
wb1["Centralizator"].cell(row=6,column=8).value=="-" or
wb1["Centralizator"].cell(row=6,column=8).value==""
.........loop until column 48...........
wb1["Centralizator"].cell(row=6,column=48).value=="-" or
wb1["Centralizator"].cell(row=6,column=48).value==""
next row.......until max_row....