Seite 1 von 1

Datensätze verteilen

Verfasst: So 6. Nov 2022, 15:01
von Victorinox78
Gute Tag zusammen.

Ich habe eine Liste mit Startern. ( 1. Spalte Startnummer, 2. Spalte Name, 3. Spalte Altersklasse) Jetzt möchte ich, dass die Starter je nach eingetragener Altersklasse automatisch auf einzelne Tabellen(blätter) verteilt werden.

Re: Datensätze verteilen

Verfasst: So 6. Nov 2022, 18:47
von karolus
Hallo

ich hoffe, das folgende ist selbsterklärend:

Code: Alles auswählen

def filter_C_to_sheetname(*_):
    doc = XSCRIPTCONTEXT.getDocument()
    sheets = doc.Sheets
    sourcesheet = sheets["Tabelle1"] #Tabellennamen anpassen
    cursor = sourcesheet.createCursor()
    cursor.gotoStartOfUsedArea(False)
    cursor.gotoEndOfUsedArea(True)
    source = cursor.DataArray
    criteria = sorted({row[2] for row in source}) # [2]→Spalte_C
    for name in criteria:
        sheetname = f"Altersklasse_{name}"
        try:
            sheets.insertNewByName(sheetname, sheets.Count)
        except:
            pass        
        out = [row for row in source if row[2]==name] # [2]→Spalte_C
        sheets[sheetname][0:len(out),0:len(out[0])].DataArray = out
nimm apso.oxt zum organisieren von pythoncode

der Code oben ist beinahe eine 1:1 Kopie von diesem Thema

Re: Datensätze verteilen

Verfasst: Do 10. Nov 2022, 17:58
von Victorinox78
Bleibt nur die Frage, wohin mit dem Code. :?:

Re: Datensätze verteilen

Verfasst: Do 10. Nov 2022, 23:37
von karolus
Victorinox78 hat geschrieben:
Do 10. Nov 2022, 17:58
Bleibt nur die Frage, wohin mit dem Code. :?:
Ich habe doch oben einen Link zur Erweiterung apso.oxt hinterlassen,, vielleicht möchtest du dich mal ne viertel Stunde damit beschäftigen.