Я пытаюсь использовать окно Tkinter для запроса ввода данных, затем взять эти записи, сохранить данные в Pandas DataFrame и затем экспортировать DataFrame в Excel. Я хочу сохранить несколько строк данных из этих записей пользователя и сохранять после каждой записи. Позже я хочу экспортировать сохраненные данные. Но моя проблема в том, что я не могу получить данные в DataFrame. Мне удалось экспортировать файл Excel, но единственное значение, которое он сохранил, было пустым. Есть ли простой способ получить эти значения и вставить их в DataFrame? Я знаком с Pandas и знаю, как экспортировать, но я довольно плохо знаком с Tkinter.
Я пытался вставить данные с помощью insert () в DataFrame, я пытался использовать entry.get () для хранения значений и передачи их в DataFrame, но ни один из них не сработал. Теперь я попытался использовать get () для значений, сохранить их в списке, а затем превратить этот список в DataFrame, но значения просто не попадут в DataFrame. Я не пробовал openpyxl, потому что примеры, которые я прочитал, похоже, не работают для того, что я имею в виду, это означает, что мне удалось экспортировать файл с данными примера, но не для реальной цели моего кода.
import tkinter as tk
import pandas as pd
def saveinfo():
valor = entry1.get()
list.append(valor)
def export():
df = pd.DataFrame(list)
df.to_excel("DataBase.xlsx")
def opennewwindow():
window.destroy()
newwindow=tk.Tk()
newwindow.geometry("500x150")
newwindow.title("Hi! ")
titulo = tk.Label(newwindow, text = "Please, enter data: ", font=("Calibri", 10)).grid(column = 0, row = 0)
textoentry1 = tk.Label(newwindow, text = "Number", font = ("Arial", 8)).grid(column = 0, row = 1)
entry1 = tk.Entry(newwindow, width=10).grid(column = 1, row = 1)
textoentry2 = tk.Label(newwindow, text = "Description", font = ("Arial", 8)).grid(column = 0, row = 2)
entry2 = tk.Entry(newwindow, width=10).grid(column = 1, row = 2)
textoentry3 = tk.Label(newwindow, text = "Brand", font = ("Arial", 8)).grid(column = 0, row = 3)
entry3 = tk.Entry(newwindow, width=10).grid(column = 1, row = 3)
botonguardar = tk.Button(newwindow, text = "Save", command = saveinfo).grid(column = 3, row = 2)
botonexportar = tk.Button(newwindow, text = "Export", command = export).grid(column = 3, row = 3)
newwindow.mainloop()
df = pd.DataFrame
list = []
window = tk.Tk()
window.geometry("320x156")
window.title("Master")
label = tk.Label(window, text = "Platform", font = ("Arial", 25)).grid(column = 0, row = 0)
boton = tk.Button(window, text = "Choose an element: ", command = opennewwindow)
boton.grid(column = 0, row = 1)
window.mainloop()
Я ожидаю получить экспортированный файл Excel, в котором показан DataFrame со значениями, которые были записаны в полях ввода. Например: есть 3 записи, и я хочу Excel с несколькими строками, которые показывают эти 3 записи в 3 столбцах: «Номер», «Описание» и «Бренд». Вместо этого я получаю чистый Excel.
Я знаю, что мой код еще не очищен, я не подвергался рефакторингу и не убирал, так как я пытаюсь получить функциональный MVP для моей идеи. Спасибо за любые отзывы или идеи!