#!/usr/bin/env python3 """ Liest Kreditdaten aus der Excel-Datei. """ import openpyxl from datetime import datetime # Excel-Datei laden datei = "Kopie von Kostenrechnung der Nächsten jahre (3).xlsx" print(f"Lade {datei}...") wb = openpyxl.load_workbook(datei, data_only=True) # Sheet "Tilgung bei Gleichbleibenden Be" laden sheet_name = "Tilgung bei Gleichbleibenden Be" ws = wb[sheet_name] print(f"\n=== Sheet: {sheet_name} ===") print(f"Max Zeile: {ws.max_row}, Max Spalte: {ws.max_column}") # Erste 10 Zeilen anzeigen für Header-Analyse print("\n=== ERSTE 10 ZEILEN (Header-Analyse) ===") for row_idx in range(1, 11): row_data = [] for col_idx in range(1, 15): cell = ws.cell(row=row_idx, column=col_idx) val = cell.value if val is not None: if isinstance(val, str): row_data.append(f"{val[:30]}") elif isinstance(val, (int, float)): row_data.append(f"{val}") if row_data: print(f"Zeile {row_idx:2}: {row_data}") print("\n=== ZEILEN 11-20 ===") for row_idx in range(11, 21): row_data = [] for col_idx in range(1, 15): cell = ws.cell(row=row_idx, column=col_idx) val = cell.value if val is not None: if isinstance(val, str): row_data.append(f"{val[:30]}") elif isinstance(val, (int, float)): row_data.append(f"{val}") if row_data: print(f"Zeile {row_idx:2}: {row_data}") # Nach Kreditnamen suchen print("\n=== SUCHE NACH KREDITNAMEN ===") kredit_namen = ["DSL Bank", "PSD Nord", "Zingelstr. 14", "PVCreditplus"] for row_idx in range(1, 50): for col_idx in range(1, 20): cell = ws.cell(row=row_idx, column=col_idx) val = cell.value if val and isinstance(val, str): for kredit in kredit_namen: if kredit.lower() in val.lower(): # Zeile extrahieren full_row = [] for c in range(1, 15): v = ws.cell(row=row_idx, column=c).value if v: full_row.append(str(v)[:25]) print(f"\n🔍 '{kredit}' in Zeile {row_idx}, Spalte {col_idx}") print(f" Zeile: {full_row}") # Umgebung anzeigen context = [] for r in range(row_idx-2, row_idx+3): for c in range(col_idx-1, col_idx+2): if r > 0 and c > 0: v = ws.cell(row=r, column=c).value if v: context.append(f"({r},{c}:{str(v)[:15]})") print(f" Kontext: {context}") # Suche nach Zinssätzen (Prozentwerte) print("\n=== SUCHE NACH ZINSSÄTZEN (%) ===") for row_idx in range(1, 30): for col_idx in range(1, 20): cell = ws.cell(row=row_idx, column=col_idx) val = cell.value if val and isinstance(val, (int, float)): # Prozentwerte sind oft zwischen 0 und 10 (oder als Dezimal 0.01-0.1) if 0 < val < 1 or 0 < val < 15: label_cell = ws.cell(row=row_idx-1, column=col_idx).value if row_idx > 1 else None print(f"Zeile {row_idx}, Spalte {col_idx}: {val} (Label: {label_cell})")