Zeilen von Textfile in verschiedene Textfiles speichern

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.
Claudia

Zeilen von Textfile in verschiedene Textfiles speichern

Beitragvon Claudia » Freitag 4. November 2005, 10:19

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
joe

Re: Zeilen von Textfile in verschiedene Textfiles speichern

Beitragvon joe » Freitag 4. November 2005, 13:35

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
Benutzeravatar
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Re: Zeilen von Textfile in verschiedene Textfiles speichern

Beitragvon Joghurt » Freitag 4. November 2005, 14:53

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
BlackJack

Beitragvon BlackJack » Freitag 4. November 2005, 16:46

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.
Claudia

Beitragvon Claudia » Samstag 5. November 2005, 12:55

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

Wer ist online?

Mitglieder in diesem Forum: kl.as, snafu, WhiteyW