From 8943e362e1de20d62c0aa835213d0e1823a47a56 Mon Sep 17 00:00:00 2001 From: patrick Date: Fri, 4 Sep 2026 00:28:25 +0200 Subject: [PATCH] =?UTF-8?q?fix(import):=20nicht-numerische=20Menge=20?= =?UTF-8?q?=C3=BCberspringen=20statt=20Import=20abzubrechen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dritte Ist-Liste (Rucksack PAX SEG) hat abweichende Kopfzeilen-Struktur (Objekttyp-Name in Spalte C statt Menge) - beim echten Import-Lauf gefunden. Solche Zeilen sind Titel/Deckblatt, keine Artikelzeilen. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01L85hmKbvX7Cqkq47KnQhFt --- backend/scripts/import_excel.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/backend/scripts/import_excel.py b/backend/scripts/import_excel.py index 331415d..d01aa4d 100644 --- a/backend/scripts/import_excel.py +++ b/backend/scripts/import_excel.py @@ -109,11 +109,20 @@ def lies_xlsx(pfad: Path) -> ImportDatei: aktuelles_fach = artikel continue + try: + menge_zahl = float(menge) + except ValueError: + # Titel-/Deckblattzeilen (z. B. "Rucksack PAX SEG.xlsx" hat den + # Objekttyp-Namen in Spalte C statt einer Menge) sind keine Artikel- + # zeilen - überspringen statt den Import abzubrechen. + print(f"Übersprungen (Menge nicht numerisch): {artikel!r} / {menge!r}") + continue + ergebnis.zeilen.append( ImportZeile( fach=aktuelles_fach, artikel=artikel, - menge=float(menge), + menge=menge_zahl, artikelnummer=werte.get(SPALTE_ARTIKELNUMMER), hat_seriennummer=werte.get(SPALTE_SERIENNUMMER) is not None, )