Files
buchhaltung/analyze_kerstin.py
T
2026-04-26 07:51:39 +02:00

52 lines
1.5 KiB
Python

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']}")