Zahlen in Datei ersetzen
Verfasst: Samstag 21. März 2009, 01:41
Hallo mal wieder,
Ich hänge mal wieder an einem Problem. Passiert mir öfter da ich Python-Autodidakt bin
Also, ich möchte ein kleines Skript schreiben, das Folgendes macht:
In einer Datei in der ganz viele Zahlenkolonnen stehen (es sind Messwerte und bestimmte Ereigniskodierungen) bestimmte Zahlen ersetzen und das Ganze wieder abspeichern.
Ein Beispiel:
Es geht mir dabei um die jeweils auf die 195\n folgende Zahl in der letzten Spalte. Kommt eine 2\n, soll sie durch 77\n ersetzt werden, kommt eine 1\n, durch 70\n. Alle anderen Zahlen und Leerzeichen sollen identisch zur Ursprungsdatei bleiben.
Hier mein Skriptversuch, ich versuche erstmal nur die 2er in 77er zu verwandeln:
Das macht mir die erste Ersetzung richtig. Mein Problem: Wie kann ich hier iterieren? Also alle 2\n in der Datei durch 77\n ersetzen und nicht nur den ersten Treffer? Welche Schleifenkonstruktion muss/kann ich hier nehmen? Meine bisherigen Versuche mit for oder while schlugen fehl.
Hat jemand einen Tipp für mich?
Grüße,
Johannes
Ich hänge mal wieder an einem Problem. Passiert mir öfter da ich Python-Autodidakt bin
Also, ich möchte ein kleines Skript schreiben, das Folgendes macht:
In einer Datei in der ganz viele Zahlenkolonnen stehen (es sind Messwerte und bestimmte Ereigniskodierungen) bestimmte Zahlen ersetzen und das Ganze wieder abspeichern.
Ein Beispiel:
Code: Alles auswählen
8.192 130051 99
8.936 141583 141
10.856 171343 1
14.896 233963 195
15.396 241713 2
17.400 272775 99
18.148 284369 255
20.068 314129 14
24.200 378175 195
24.488 382639 1
Hier mein Skriptversuch, ich versuche erstmal nur die 2er in 77er zu verwandeln:
Code: Alles auswählen
import os
import re
file1 = file('ursprungsdatei.txt')
regexwrong = r'.+195\n.+2\n'
lines = file1.read()
a = re.search(regexwrong, lines)
if a != None:
print re.sub(r'\ 2\n', '77\n', a.group())
Hat jemand einen Tipp für mich?
Grüße,
Johannes