Я пытаюсь сохранить документ на основе оператора if.
Здесь я создаю радиокнопки:
info = ["Option 1", "Option 2", "Option 3"]
vars = []
for idx,i in enumerate(info):
var = IntVar(value=0)
vars.append(var)
lblOption = Label(main,text=i)
btnYes = Radiobutton(main, text="Yes", variable=var, value=2)
btnNo = Radiobutton(main, text="No", variable=var, value=1)
btnNa = Radiobutton(main, text="N/A", variable=var,value=0)
lblOption.grid(column=4,row=idx, sticky = W)
btnYes.grid(column=1,row=idx)
btnNo.grid(column=2,row=idx)
btnNa.grid(column=3,row=idx)
Здесь я создаюдокумент
document = Document()
#add table
table = document.add_table(1, 4)
#style table
table.style = 'Table Grid'
#populate header row
heading_cells = table.rows[0].cells
heading_cells[0].text = "Options"
heading_cells[1].text = "Yes"
heading_cells[2].text = "No"
heading_cells[3].text = "N/a"
for idx, item in enumerate(vars):
cells = table.add_row().cells
cells[0].text = info[idx] # gets the option name
val = item.get() #radiobutton value
if val == 2: # checks if yes
cells[1].text = "*"
elif val == 1: # checks if no
cells[2].text = "*"
elif val == 0: # checks if N/A
cells[3].text = "*"
#save doc
document.save("test.docx")
Работа за кадром:
- Из 3-х переключателей Да, Нет, Н / Д .. Можно выбрать только один.
- Далее, когда нажимается кнопка
save
.., она создает таблицу в docx
, Опции в row 0
, добавляя вниз вместе с выбранными значениями Да, Нет и N/a.
Как пример:
Options Yes No N/a
Option 1 *
Option 2 *
Option 3 *
Моя проблема:
Я могу просто нажать save
, и это сохранитфайл как test.docx
.
Теперь я пытаюсь выяснить, как сохранить файл как Failed.docx
. Failed.docx
будет создан, только если один или несколько издля всех опций выбрано значение no
.
Как пример ниже, оно будет сохранено как Test.docx
, поскольку ни в одном из опций не выбрано значение no
:
Options Yes No N/a
Option 1 *
Option 2 *
Option 3 *
Пример ниже, это будет сохранено как Failed.docx
,потому что для одной из опций слева была выбрана опция no
.
В качестве примера:
Options Yes No N/a
Option 1 *
Option 2 *
Option 3 *
Вот что я пробовал до сих пор:
for x in cells[2].text:
if "*" in x:
print("True")
else:
print("False")
Обнаруживает *
в пределах cell[2]
(это строка 2, связанная со значением No
).
И если было выбрано значение «нет», онопечатает true, но также печатает false
Например:
Options Yes No N/a
Option 1 *
Option 2 *
Option 3 *
Вывод for loop
:
False
True
False
Но если он обнаружит False
и True
оба файла будут сохранены. Я совершенно не понимаю, куда идти отсюда ..