Python mehrere Splits in line?

3 Antworten

Ist vielleicht nicht die effektivste Methode, aber so sollte es funktionieren:

liste = []

with open("file.txt", "r") as output:
    for item in output:
        item = item.replace('\n', '')
        if "=" in item:
           item = item.split("=") 
           for i in item:
               liste.append(i)
        else:
            liste.append(item)
print(liste)

Und was meinst du mit:

soll in einer neuen Liste gespeichert werden, in der es nur 2 Werte gibt ?
Woher ich das weiß:eigene Erfahrung

Mir scheint, du überholst dich gerade selbst beim Denken. Mach doch eins nach dem andern.

Kannst du die Datei zeilenweise einlesen? OK. Wenn nicht ein Tipp - du kannst über eine offene Datei einfach iterieren und bekommst jede Zeile einzeln, etwa so:

with open("bla.txt") as f:
    for line in f:
        print(line)

Jetzt können wir das erweitern, damit wir eine Liste von Zeilen kriegen (das ginge auch deutlich kürzer, aber wir wollen ja noch mehr damit machen):

results = []
with open("bla.txt") as f:
    for line in f:
        results.append(line)

Nächster Schritt. Wenn ich recht verstehe, willst du nun eine Liste von Listen bauen - d.h. jedes Element ist wiederum eine Liste mit 2 Elementen?

Dann machst du statt dem obigen eben ein split() und hängst die entstehende Liste als neues Element an die Resultatliste an. In etwa so (Code ist freihändig geschrieben und ungetestet, aber im Prinzip sollte es passen):

results = []
with open("bla.txt") as f:
    for line in f:
        results.append(line.split("="))

Also wie genau weiß ich auch nicht, aber du könntest doch in deine for Schleife nochmal eine Schleife machen oder ? Und das da dann machen

Woher ich das weiß:Studium / Ausbildung – Fachinformatiker für Systemintegration