Olá, estou tentando colocar os valores de um dicionário que foram retirados de uma planilha para uma interface gráfica feita em Tkinter. O código em si funciona, meu problema no caso é que ele só me retorna o último valor armazenado.
Segue código abaixo:
from tkinter import *
import openpyxl
root = Tk()
def func():
newWindow = Toplevel()
newWindow.title("Output")
newWindow.geometry("400x500+375+50")
# Abre a planilha e obtém o status do último pagamento.
wb = openpyxl.load_workbook('C:/temp/cobranca.xlsx')
sheet = wb['Sheet1']
lastCol = sheet.max_column
# latestMonth = sheet.cell(row=1, column=lastCol).value
# Verifica o status de pagamento de cada cliente.
unpaidMembers = {}
for r in range(2, sheet.max_row + 1):
for c in range(3, lastCol + 1):
payment = sheet.cell(row=r, column=c).value
if payment != 'ok':
cliente = sheet.cell(row=r, column=1).value
email = sheet.cell(row=r, column=2).value
mes = sheet.cell(row=1, column=c).value
unpaidMembers[cliente] = email
print('Linha:', r, 'Coluna:', c, 'Cliente:', cliente, 'Email:', email, 'Mês:', mes)
#--- LABELS ---#
l_label1 = Label(newWindow, text="Cliente", font='-weight bold')
l_label1.grid(row=1, column=1)
l_label2 = Label(newWindow, text="Competência", font='-weight bold')
l_label2.grid(row=1, column=2)
v_result1 = StringVar()
l_cliente = Label(newWindow, textvariable=v_result1)
l_cliente.grid(row=2, column=1)
v_result2 = StringVar()
l_mes = Label(newWindow, textvariable=v_result2)
l_mes.grid(row=2, column=2)
#--- VARIAVEIS ---#
result1 = cliente
result2 = mes
#--- OUTPUT ---#
v_result1.set(result1)
v_result2.set(result2)
bt = Button(root, text='Verificar', command=func)
bt.grid(row=1, column=1)
root.mainloop()
Modelo da planilha que estou utilizando: https://prnt.sc/123non7
Podem me ajudar?