Ich versuche, eine Textdatei zu durchlaufen und einige Logik anwenden, aber ich bin nicht in der Lage, die Textdatei zu durchlaufen. Also zur Zeit habe ich eine Textdatei, die wie folgt strukturiert:Fehler beim Durchlaufen einer Textdatei in Python
--- section1 ---
"a","b","c"
"d","e","f"
--- section2 ---
"1","2","3"
"4","5","6"
--- section3 ---
"12","12","12"
"11","11","11"
Ich versuche, die erste Zeile, um herauszufiltern, die enthält ‚---‘ und wandeln die Linien unten in json bis zum nächsten ‚--- 'Zeile erscheint im Textdokument.
aber ich habe diesen Fehler "Felder1 = next (Datei) .split ('') StopIteration
with open(fileName,'r') as file:
for line in file:
if line.startswith('-') and 'section1' in line:
while '---' not in next(file):
fields1 = next(file).split(',')
for x in range(0,len(fields1)):
testarr.append({
config.get('test','test'): fields1[x]
})
with open(test_dir,'w') as test_file:
json.dump(testarr, test_file)
Jede Idee, warum mein Code nicht funktioniert oder wie kann ich den Fehler beheben kann?
Versuchen Sie, zwei Schleifen in Reihe zu schreiben, anstatt sie zu verschachteln. Loop1: Überspringe alle Zeilen bis '--- section1 ...'. Loop2: Dump alle Zeilen, bis ein anderes '---' erfüllt ist. –
Angesichts früherer Erfahrungen mit ähnlichen Titeln habe ich erwartet, dass dies eine Mistfrage ist, die geschlossen werden muss. Stattdessen fand eine gut formulierte, klare Frage mit praktisch allen relevanten Informationen. Viele Kudos OP. –
Ignoriere meinen ursprünglichen (jetzt gelöschten) Kommentar. Es ist lange her, seit ich eine 'else'- zu einer' while'-Schleife gesehen habe. –