Seite 1 von 1

Zeilen von Textfile in verschiedene Textfiles speichern

Verfasst: Freitag 4. November 2005, 10:19
von Claudia
hallo,

mir ist es mittlerweile schon peinlich, aber ich hab schon wieder eine frage wegen meinem textfile ;-( :

1
-0.876408984375000E+05 0.277388000000750E+06
-0.876667968750000E+05 0.277433000000750E+06
-0.877375000000000E+05 0.277362500000750E+06
-0.877375000000000E+05 0.277362500000750E+06
End
2
-0.875908984365000E+05 0.277388000000750E+06
-0.876167968740000E+05 0.277433000000750E+06
-0.876874999990000E+05 0.277362500000750E+06
-0.876874999990000E+05 0.277362500000750E+06
End
3
-0.875408984383500E+05 0.277388000000750E+06
-0.875667968758500E+05 0.277433000000750E+06
-0.876375000008500E+05 0.277362500000750E+06
-0.876375000008500E+05 0.277362500000750E+06
End
4
-0.874908984373500E+05 0.277388000000750E+06
-0.875167968748500E+05 0.277433000000750E+06
-0.875874999998500E+05 0.277362500000750E+06
-0.875874999998500E+05 0.277362500000750E+06
End
5
-0.874408984363500E+05 0.277388000000750E+06
-0.874667968738500E+05 0.277433000000750E+06
-0.875374999988500E+05 0.277362500000750E+06
-0.875374999988500E+05 0.277362500000750E+06
End
.
.
.
.
mein problem ist nun: ich möchte für jede 6. zeile ein neues textfile erstellen, und die sollen dann durchgehend nummeriert werden:

1
-0.876408984375000E+05 0.277388000000750E+06
-0.876667968750000E+05 0.277433000000750E+06
-0.877375000000000E+05 0.277362500000750E+06
-0.877375000000000E+05 0.277362500000750E+06
End

so sollte ein textfile ausschauen und zB heißen:

"/text1.txt", das nächste dann "/text2.txt" .....

ist das überhaupt möglich???

danke im vorhinein,
lg claudia

Re: Zeilen von Textfile in verschiedene Textfiles speichern

Verfasst: Freitag 4. November 2005, 13:35
von joe
Hallo!
Claudia hat geschrieben: "/text1.txt", das nächste dann "/text2.txt" .....

ist das überhaupt möglich???
Klar.

Code: Alles auswählen

for i in range(20):
    dateiname = "text%d.text" % (i)  # schöner "text%02d.text"
    f=open(dateiname,"w")
    # ... daten in datei schreiben ...
    f.close()
wenn dir das mit dem %d zu kryptisch ist, geht auch:

Code: Alles auswählen

dateiname = "text"+str(i)+".txt"
joe

Re: Zeilen von Textfile in verschiedene Textfiles speichern

Verfasst: Freitag 4. November 2005, 14:53
von Joghurt
Claudia hat geschrieben:mein problem ist nun: ich möchte für jede 6. zeile ein neues textfile erstellen, und die sollen dann durchgehend nummeriert werden:
Falls du unter Linux/Unix arbeiten solltest, geht das auch mit Hausmitteln, einfach in der Shell

Code: Alles auswählen

split -l6 Dateiname output
eingeben. (Dateien heißen dann outputaa, outputab, etc)
In Python geht das ansonsten so, wie joe geschrieben hat:

Code: Alles auswählen

inputfile = open("eingabefile","r")
linenr = 0
for line in inputfile:
  if linenr % 6 == 0:
    outputfile = open("output%04i" % (linenr/6),"w")
  outputfile.write(line)
  linenr += 1

Verfasst: Freitag 4. November 2005, 16:46
von BlackJack
Man könnte das auch mit der Ursprünglichen Lösung für das einfügen der Zahlen verbinden und an der Stelle, wo eine neue Nummer fällig ist, eine neue Datei anfangen.

Verfasst: Samstag 5. November 2005, 12:55
von Claudia
Hallo,

Danke für die Hilfe... Ich werde wahrscheinlich die variante von joghurt verwenden... ich hoffe, daß das das letzte mal war, daß ich euch mit meinen textfilen "belästigt" habe...

lg claudia