Code in nächster Zeile fortsetzen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
H3llo
User
Beiträge: 20
Registriert: Montag 9. Mai 2022, 10:17

Hallo,

totale Anfängerfrage, aber ich habe nichts auf Google gefunden: Wie kann man seinen Code in der nächsten Zeile fortsetzen, wenn man z. B. sonst eine sehr lange Zeile hätte.

Beispiel:

Code: Alles auswählen

# Bisherige Codezeile
cursor.execute("INSERT INTO tblTest (test_1, test_2, test_3) VALUES (?,?,?)", data_edited["TEST"]["T1"][i], data_edited["TEST"]["T2"][i], data_edited["TEST"]["T3"][i])

# So solls etwa aussehen
cursor.execute("INSERT INTO tblTest (
            test_1, 
            test_2, 
            test_3) 
            VALUES (?,?,?)",
            data_edited["TEST"]["T1"][i], 
            data_edited["TEST"]["T2"][i], 
            data_edited["TEST"]["T3"][i])
Benutzeravatar
__blackjack__
User
Beiträge: 14030
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@H3llo: Mehrzeilige Zeichenkettenliterale kennt Python: """ oder '''' als Begrenzer statt " oder '. Und ansonsten weiss der Compiler, dass ein Ausdruck erst zuende ist, wenn alle geöffneten Klammern auch wieder geschlossen sind.

Was ist denn das `i` hier? Es müsste ja eine ganze Zahl sein bei dem Namen. Falls die von 0 bis ``len(data_edited["TEST"]["T1"])`` läuft, und die beiden anderen Datenstrukturen wo `i` als Index verwendet wird genau so lang sind, dann ist das ”falsch” das so zu machen, denn dann würde man kein `i` als Laufindex verwenden, sondern die `zip()`-Funktion. Könnte also gut sein, dass das eigentlich auf das hier raus läuft:

Code: Alles auswählen

        #
        # Kein echtes Python:
        #
        test_data = data_edited["TEST"]
        for i in len(test_data["T1"][i]):
            cursor.execute(
                "INSERT INTO test (test_1, test_2, test_3) VALUES (?,?,?)",
                test_data["T1"][i],
                test_data["T2"][i],
                test_data["T3"][i],
            )
        #
        # Python:
        #
        test_data = data_edited["TEST"]
        cursor.executemany(
            "INSERT INTO test (test_1, test_2, test_3) VALUES (?,?,?)",
            zip(test_data["T1"], test_data["T2"], test_data["T3"]),
        )
Wobei sich natürlich auch die Frage stellt warum das in der `data_edited`-Struktur so komisch ”parallel” abgelegt ist, wenn die Daten anscheinend zusammengehören. Falls man das dort schon ändern könnte, würde man das dort bereits tun.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
Antworten