import openpyxl from datetime import datetime EXCEL_FILE = r"C:\Users\renet\.openclaw\workspace\buchhaltungs-app\Schulden Kerstin.xlsx" print(f"Lade: {EXCEL_FILE}") wb = openpyxl.load_workbook(EXCEL_FILE, data_only=True) ws = wb['Tabelle2'] print(f"\nSheet: {ws.title}") print(f"Zeilen: {ws.max_row}, Spalten: {ws.max_column}") print("\n" + "="*100) print("ALLE ZEILEN MIT INHALT:") print("="*100) zahlungen = [] for row_idx in range(1, min(ws.max_row + 1, 150)): row = [ws.cell(row=row_idx, column=c).value for c in range(1, 4)] datum = row[0] if isinstance(row[0], datetime) else None notiz = row[1] if row[1] else None betrag = row[2] if isinstance(row[2], (int, float)) else None if betrag is not None: print(f"Zeile {row_idx}: Datum={datum}, Notiz={notiz}, Betrag={betrag}") zahlungen.append({ 'zeile': row_idx, 'datum': datum, 'notiz': notiz, 'betrag': betrag }) print(f"\n{'='*100}") print(f"INSGESAMT: {len(zahlungen)} Einträge mit Betrag") print(f"{'='*100}") # Gruppiere nach Jahr by_year = {} for z in zahlungen: if z['datum']: year = z['datum'].year by_year[year] = by_year.get(year, 0) + 1 print("\nNach Jahr:") for year, count in sorted(by_year.items()): print(f" {year}: {count} Einträge") print("\nOhne Datum:") ohne_datum = [z for z in zahlungen if z['datum'] is None] for z in ohne_datum: print(f" Zeile {z['zeile']}: {z['notiz']} - {z['betrag']}€")