bestimmte zeilen löschen

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.
Antworten
theblues
User
Beiträge: 4
Registriert: Donnerstag 17. August 2006, 10:42
Wohnort: Munich

hi leute,

zu beginn möchte ich gerne sagen das ich ein Newbie der Python Programmierung bin, habe gestern angefangen es mir anzueignen! Aus diesem Grund auch mein folgendes Problem, wahrscheinlich für euch nicht. Ich habe eine Text File geöffnet und würde gerne bestimme zeilen aus dieser löschen.
in meinem fall ist es ungefähr so das es 5000 zeilen sind und ich die ersten sowie die letzen 10 zeilen unberührt lassen will. Und ab der 10 Zeile soll dann der rest sozusagen als 35 zeilen blöcke angesehen werden und davon immer die 2, 4, 9, 15 zeile gelöscht werden!
Hoffe ich konnte mich verständlich ausdrücken...

Bedanke mich jetzt schon mal für euer bemühen

greetz
ThEblUeS
Python Newbie...
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Nun ja... (ungetestet)

Code: Alles auswählen

l = list(open(filename, "r"))
f = open(outfilename, "w")
for no, line in enumerate(l):
    if no >= len(l)-10 or (no-10) % 35 not in (1, 3, 8, 14):
        f.write(line)
f.close()
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

Hi,

Das ganze liesse sich vermutlich recht einfach mit file(), enumerate und for erledigen:

Code: Alles auswählen

for linenumber, line in enumerate(file('filename.txt')):
   # line enthält zeile nummer linenumber
innerhalb der Schleife kann man dann die interessanten Zeilen in eine neue Datei schreiben.
geht sicher eleganter, so gehts aber auch, so als Ansatz
theblues
User
Beiträge: 4
Registriert: Donnerstag 17. August 2006, 10:42
Wohnort: Munich

Erst mal, vielen dank an euch!
Die Lösungsvorschläge haben mich ein großes Stück weitergebracht, funktioniert zwar noch nicht wirklich so wie ich es will aber das sollte jetzt dann keine probleme mehr bereiten.
Bin aber weiterhin für neue Lösungsvorschläge offen....

greetzt

ThEbLuEs
Python Newbie...
theblues
User
Beiträge: 4
Registriert: Donnerstag 17. August 2006, 10:42
Wohnort: Munich

Hi,

ich hätte noch mal eine Frage und zwar gibt es eventuell eine Lösung für mein oben beschriebenes Problem mittels einem xml_Modul zu lösen?

greetz

ThEblUeS
Python Newbie...
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

XML? Wie sollte dabei XML helfen?

*seufz* Warum glauben immer alle Leute, XML sei ein Allheilmittel?
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

theblues hat geschrieben:gibt es eventuell eine Lösung für mein oben beschriebenes Problem mittels einem xml_Modul zu lösen?
Hi ThEblUeS!

Ja, wenn dein Text XML ist -- also in etwa so formatiert ist:

Code: Alles auswählen

<xml>
  <node1>Inhalt von Node 1</node1>
</xml>
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
theblues
User
Beiträge: 4
Registriert: Donnerstag 17. August 2006, 10:42
Wohnort: Munich

hi,

ja die formatierung stimmt, ist eine html datei aus excel (*.htm)...

greetz

ThEbLuEs
Python Newbie...
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Und wieder mal ein Beispiel dafür, warum es immer besser ist, das Problem, dass man Lösung will, zu beschreiben, anstatt danach zu fragen, wie eine bestimmte Lösung realisiert. Deine Zeilenschneidmethode ist z.B. eine wahrscheinlich äußert umständliche Lösung.

Was genau soll den aus der HTML-Datei genommen werden, und wie sehen die entsprechenden Stellen (was rein soll und was raus muss) aus?
Antworten