Initial commit - Stand 26.04.2026
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Liest die Niki Excel korrekt aus"""
|
||||
|
||||
import pandas as pd
|
||||
|
||||
df = pd.read_excel('Schulden Niki.xlsx', sheet_name='Tabelle1', header=None)
|
||||
|
||||
print('=== NIKI EXCEL - KOMPLETTE DATEN ===')
|
||||
print()
|
||||
|
||||
zahlungen = []
|
||||
auslagen = []
|
||||
|
||||
for idx in range(6, len(df)):
|
||||
row = df.iloc[idx]
|
||||
datum_raw = row[2]
|
||||
abgezahlt = row[5]
|
||||
neue_kosten = row[6]
|
||||
fuer_was = row[7]
|
||||
|
||||
if pd.isna(datum_raw):
|
||||
continue
|
||||
|
||||
if isinstance(datum_raw, pd.Timestamp):
|
||||
datum = datum_raw.strftime('%Y-%m-%d')
|
||||
else:
|
||||
datum = str(datum_raw)
|
||||
|
||||
if not pd.isna(abgezahlt) and abgezahlt > 0:
|
||||
zahlungen.append({'datum': datum, 'betrag': float(abgezahlt), 'notiz': fuer_was if not pd.isna(fuer_was) else ''})
|
||||
notiz_str = fuer_was if not pd.isna(fuer_was) else ''
|
||||
print(f'Zahlung: {datum} | {abgezahlt:8.2f} EUR | {notiz_str}')
|
||||
|
||||
if not pd.isna(neue_kosten) and neue_kosten > 0:
|
||||
auslagen.append({'datum': datum, 'betrag': float(neue_kosten), 'notiz': fuer_was if not pd.isna(fuer_was) else ''})
|
||||
notiz_str = fuer_was if not pd.isna(fuer_was) else ''
|
||||
print(f'Auslage: {datum} | {-neue_kosten:8.2f} EUR | {notiz_str}')
|
||||
|
||||
print()
|
||||
print('=== ZUSAMMENFASSUNG ===')
|
||||
summe_zahlungen = sum(z['betrag'] for z in zahlungen)
|
||||
summe_auslagen = sum(a['betrag'] for a in auslagen)
|
||||
print(f'Zahlungen: {len(zahlungen)} Stueck = {summe_zahlungen:.2f} EUR')
|
||||
print(f'Auslagen: {len(auslagen)} Stueck = {summe_auslagen:.2f} EUR')
|
||||
print()
|
||||
print(f'Startschuld: 7000 EUR')
|
||||
berechnet = 7000 - summe_zahlungen + summe_auslagen
|
||||
print(f'Restschuld: {berechnet:.2f} EUR')
|
||||
Reference in New Issue
Block a user