ich möchte eine bestehende Excelliste erweitern.
Auch mein neuer bester Freund ChatGPT dreht sich hier ständig in der Schleife...
Bei der Zeile: writer.book = book fliege ich raus...
Hier mein Code:
Code: Alles auswählen
def export_data(self):
all_items = self.table.get_children()
if not all_items:
messagebox.showinfo("Export Fehler", "Die Tabelle ist leer. Es gibt keine Daten zum Exportieren.")
return
data_to_export = []
for item in all_items:
values = self.table.item(item, 'values')
data_to_export.append(values)
# Überprüfen Sie, ob die Datei vorhanden ist
try:
existing_data = pd.read_excel("trinkgeld.xlsx", sheet_name="Tabelle1")
except pd.errors.EmptyDataError:
existing_data = pd.DataFrame()
# Füge neue Daten zu den vorhandenen Daten hinzu
new_data = pd.DataFrame(data_to_export, columns=["Datum", "Mitarbeiter", "Bereich", "Anteil", "Trinkgeld"])
# Speichere die aktualisierten Daten in der Excel-Datei
with pd.ExcelWriter("trinkgeld.xlsx", engine="openpyxl", mode="a") as writer:
try:
# Lade die vorhandene Arbeitsmappe
book = load_workbook("trinkgeld.xlsx")
writer.book = book #################HIER FLIEGE ICH RAUS!
print("Datei trinkgeld.xlsx vorhanden")
except FileNotFoundError:
# Wenn die Datei nicht vorhanden ist, erstelle eine neue Arbeitsmappe
writer.book = load_workbook("trinkgeld.xlsx")
print("Datei trinkgeld.xlsx nicht vorhanden, wird erstellt")
writer.sheets = {ws.title: ws for ws in writer.book.worksheets}
new_data.to_excel(writer, index=False, sheet_name="Tabelle1", header=not bool(existing_data), startrow=len(existing_data)+1)
messagebox.showinfo("Export Erfolg", "Daten erfolgreich exportiert!")
Vielen Dank
Gandy