Initial commit - Stand 26.04.2026
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Analysiert Sheet 'Tabelle1' - wahrscheinlich das Haupt-Sheet mit aktuellen Daten.
|
||||
"""
|
||||
|
||||
import openpyxl
|
||||
from datetime import datetime
|
||||
|
||||
datei = "Kopie von Kostenrechnung der Nächsten jahre (3).xlsx"
|
||||
wb = openpyxl.load_workbook(datei, data_only=True)
|
||||
|
||||
sheet_name = "Tabelle1"
|
||||
ws = wb[sheet_name]
|
||||
|
||||
print(f"=== SHEET: {sheet_name} ===")
|
||||
print(f"Max Zeile: {ws.max_row}, Max Spalte: {ws.max_column}")
|
||||
|
||||
# Zeile 1-10: Headers
|
||||
print("\n=== HEADER (Zeile 1-10) ===")
|
||||
for row_idx in range(1, 11):
|
||||
row_data = []
|
||||
for col_idx in range(1, 20):
|
||||
cell = ws.cell(row=row_idx, column=col_idx)
|
||||
val = cell.value
|
||||
if val:
|
||||
if isinstance(val, str):
|
||||
row_data.append((col_idx, val[:40]))
|
||||
elif isinstance(val, (int, float)):
|
||||
row_data.append((col_idx, f"{val:,.2f}"))
|
||||
elif isinstance(val, datetime):
|
||||
row_data.append((col_idx, val.strftime("%Y-%m")))
|
||||
if row_data:
|
||||
print(f"Zeile {row_idx}: {row_data}")
|
||||
|
||||
# Suche nach spezifischen Kreditnamen
|
||||
print("\n=== SUCHE NACH KREDITNAMEN ===")
|
||||
kredit_namen = ["DSL Bank", "PSD Nord", "Zingelstr", "PVCreditplus", "Sparkasse",
|
||||
"Targo", "Köpke", "Kopke", "Restschuld", "Kredit"]
|
||||
|
||||
for row_idx in range(1, min(ws.max_row + 1, 200)):
|
||||
for col_idx in range(1, min(ws.max_column + 1, 30)):
|
||||
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():
|
||||
# Zeige die Zeile
|
||||
row_context = []
|
||||
for c in range(1, 15):
|
||||
v = ws.cell(row=row_idx, column=c).value
|
||||
if v:
|
||||
if isinstance(v, str):
|
||||
row_context.append(f"{v[:20]}")
|
||||
elif isinstance(v, (int, float)):
|
||||
row_context.append(f"{v:,.0f}")
|
||||
print(f"\nZeile {row_idx}, Spalte {col_idx}: '{val}'")
|
||||
print(f" Kontext: {row_context[:8]}")
|
||||
|
||||
# Suche nach großen Geldbeträgen (Restschulden > 1000)
|
||||
print("\n=== GROSSE BETRÄGE (> 10000) IN ERSTEN 100 ZEILEN ===")
|
||||
gross_betraege = []
|
||||
for row_idx in range(1, min(ws.max_row + 1, 100)):
|
||||
for col_idx in range(1, min(ws.max_column + 1, 30)):
|
||||
cell = ws.cell(row=row_idx, column=col_idx)
|
||||
val = cell.value
|
||||
if val and isinstance(val, (int, float)) and val > 10000:
|
||||
# Suche nach Label
|
||||
label = None
|
||||
for c in range(1, min(30, ws.max_column + 1)):
|
||||
v = ws.cell(row=row_idx, column=c).value
|
||||
if v and isinstance(v, str):
|
||||
label = v
|
||||
break
|
||||
gross_betraege.append((row_idx, col_idx, val, label))
|
||||
|
||||
for row, col, val, label in gross_betraege[:20]:
|
||||
print(f" Zeile {row}, Spalte {col}: {val:>15,.2f} EUR - Label: {label}")
|
||||
|
||||
# Suche nach den genauen Zielwerten
|
||||
print("\n=== SUCHE NACH ZIELWERTEN (Toleranz 500 EUR) ===")
|
||||
targets = [
|
||||
("DSL Bank", 64656.88),
|
||||
("PSD Nord", 50384.50),
|
||||
("Zingelstr. 14 DSL", 24382.38),
|
||||
("Zingelstr. 14 Sparkasse", 8140.11),
|
||||
("PVCreditplus", 1666.53)
|
||||
]
|
||||
|
||||
for row_idx in range(1, ws.max_row + 1):
|
||||
for col_idx in range(1, min(ws.max_column + 1, 50)):
|
||||
val = ws.cell(row=row_idx, column=col_idx).value
|
||||
if val and isinstance(val, (int, float)):
|
||||
for name, target in targets:
|
||||
if abs(val - target) < 500:
|
||||
print(f"\n {name}: {val:,.2f} bei Zeile {row_idx}, Spalte {col_idx}")
|
||||
# Zeige die Zeile
|
||||
row_vals = []
|
||||
for c in range(1, 20):
|
||||
v = ws.cell(row=row_idx, column=c).value
|
||||
if v:
|
||||
if isinstance(v, str):
|
||||
row_vals.append(f"S{c}:{v[:15]}")
|
||||
elif isinstance(v, (int, float)):
|
||||
row_vals.append(f"S{c}:{v:,.0f}")
|
||||
print(f" Zeile: {row_vals}")
|
||||
# Zeige Header
|
||||
headers = []
|
||||
for c in range(1, 20):
|
||||
h = ws.cell(row=1, column=c).value
|
||||
if h:
|
||||
headers.append(f"S{c}:{str(h)[:15]}")
|
||||
print(f" Header: {headers}")
|
||||
Reference in New Issue
Block a user