As an ignorant, I checked more times my code but I can’t find any error in the way I indexed…
So, what’s wrong with this?
def elenco_completo():
def chiudi_elenco():
frm_infospiti.destroy()
frm_infospiti = Frame(root)
frm_infospiti.pack()
entry = Entry(frm_infospiti, width=25, borderwidth=4)
entry.pack(side=TOP)
tree_colonne = ttk.Treeview(frm_infospiti, columns=("Cognome", "Nome", "Data di nascita",
"Piano/Camera"), selectmode='extended', height=15)
tree_colonne ['show'] = 'headings'
tree_colonne.column('#0')
tree_colonne.heading('#0')
tree_colonne.column('#1')
tree_colonne.heading('#1', text="Cognome")
tree_colonne.column('#2')
tree_colonne.heading('#2', text="Nome")
tree_colonne.column('#3')
tree_colonne.heading('#3', text="Data di nascita")
tree_colonne.column('#4')
tree_colonne.heading('#4', text="Piano/Camera")
tree_colonne.pack()
puls_chiudi_elenco = Button(frm_infospiti, text="Chiudi", command=chiudi_elenco)
puls_chiudi_elenco.pack()
percorso_elenco = filedialog.askopenfilename(filetypes=[("File CSV", "*.csv")])
if not percorso_elenco:
return
with open(percorso_elenco, 'r') as elenco:
lettore_elenco = pd.read_csv(elenco)
for row in lettore_elenco:
cognome = row[0]
nome = row[1]
nascita = row[2]
piano_camera = row[3]
tree_colonne.insert("", 0, values=(cognome, nome, nascita,
piano_camera)
if __name__=='__main__':
root.mainloop()
It raises this…
Avvio: python3 /path/to/main.py
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.10/tkinter/__init__.py", line 1921, in __call__
return self.func(*args)
File "/path/to/main.py", line 113, in elenco_completo
piano_camera = row[3]
IndexError: string index out of range
*** Uscito normalmente ***
Thanks in advance.