ich möchte die Eingetragenen Werte aus der Entry in eine CSV Datei speichern. Allerdings wird bei meinem jetzigen Skript die Kopfzeile immer neu Hinzugefügt, statt nur die Werte
Statt so auszusehen:
Stückzahl, Uhrzeit
1000, 12:14:30
2000, 12:15:20
Sieht es in der CSV so aus
Stückzahl, Uhrzeit
1000, 12:15:40
Stückzahl, Uhrzeit
2000, 12:16:20
Hier mein Code:
Code: Alles auswählen
from tkinter import *
import time
import tkinter
import tkinter.messagebox
#----------------------------------------------------------------------------------------------------------------------------
#Fenster
tkFenster = Tk()
#Fenster-Titel einfügen
tkFenster.title('Liste')
#Fenster-groeße bestimmen
tkFenster.geometry('400x300')
tkFenster.configure(bg="White")
#----------------------------------------------------------------------------------------------------------------------------
def loeschen():
try:
wert_index = listbox_stuekzahlen.curselection()[0]
listbox_stuekzahlen.delete(wert_index)
except:
tkinter.messagebox.showwarning(title="Warning!", message="Wert anklicken")
def hinzufuegen():
import csv
import datetime
with open("Data_stueckzahlen.csv", "a", newline="") as csvfile:
writer = csv.writer(csvfile)
#Kopfzeile
writer.writerow(["Stückzahl", "Uhrzeit"])
#Eingabe-Wert nehmen
ist_stueckzahl = entry_listbox.get()
#Zeit hinzufügen
now = datetime.datetime.now()
now_str = now.time().strftime("%H:%M:%S")
writer.writerow([ist_stueckzahl, now_str])
timestamp = datetime.datetime.now()
eingabe_stuekzahl = entry_listbox.get()
if eingabe_stuekzahl != "":
listbox_stuekzahlen.insert(tkinter.END, f'{timestamp:%H:%M:%S} - {eingabe_stuekzahl} Stk.')
#listbox_stuekzahlen.insert(tkinter.END,stuekzahl_hinzufuegen,date_time_str)
entry_listbox.delete(0,tkinter.END)
else:
tkinter.messagebox.showwarning(title="Warning!", message="Zahl eingeben!")
#---------------------------------------------------------------------------------------------------------------------------
#Listbox erstellen
listbox_stuekzahlen = tkinter.Listbox(tkFenster, bg="White", height=400, width=4)
listbox_stuekzahlen.place(x=10, y=20, width=150, height=250)
#Eingabemöglichkeit schaffen
entry_listbox = Entry(master=tkFenster, bg="white", width=30)
entry_listbox.place(x=180, y=64, width=60, height=27)
#Button erstellen
button_add_list = Button(master=tkFenster, bg='#FBD975', text='Stückzahl Hinzufügen', command=hinzufuegen)
button_add_list.place(x=180, y=100, width=200, height=27)
#Button erstellen der ein Wert löscht
button_add_list = Button(master=tkFenster, bg='#FBD975', text='Löschen', command=loeschen)
button_add_list.place(x=180, y=150, width=200, height=27)
###Label
#Label mit Aufschrift Produktionsbeginn
label_produktionsbeginn = Label(master=tkFenster, bg="White", text="Produktionsbeginn [HH:MM]:")
label_produktionsbeginn.place(x=180, y=200, width=175, height=27)
#Eingabemöglichkeit (Entry) für die Produktionsbeginn
entry_produktionsbeginn = Entry(master=tkFenster, bg="White")
entry_produktionsbeginn.place(x=175, y=230, width=60, height=27)
tkFenster.mainloop()
Vielen dank für die Hilfe