Python zum extrahieren von Daten aus einer Datei
Ich versuche, zu extrahieren text zwischen bestimmten text-Datei:
----
data1
data1
data1
extractme
----
data2
data2
data2
----
data3
data3
extractme
----
und dann werfen Sie es in eine Textdatei, so dass
----
data1
data1
data1
extractme
---
data3
data3
extractme
---
Danke für die Hilfe.
Welchen code haben Sie versucht?
InformationsquelleAutor Michelle Jun Lee | 2010-03-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies funktioniert gut genug für mich. Ihre sample-Daten in einer Datei namens "data.txt" und der Ausgang geht auf "result.txt"
InformationsquelleAutor Peter Lyons
Ich mir vorstellen, die änderung in der Anzahl der Striche (4 im Eingang, manchmal 4 und manchmal 3 in der Ausgabe), ist ein Fehler und eigentlich nicht gewünscht ist (da kein Algorithmus ist auch angedeutet, zu erklären, wie viele Striche sind, um ausgegeben werden zu verschiedenen Anlässen).
Ich würde die Struktur der Aufgabe in Bezug auf das Lesen und ermöglicht einen block von Zeilen zu einer Zeit:
so, dass die (selektive) ausgegeben werden kann, säuberlich getrennt von der Eingabe:
Dies ist nicht optimal, performance-Weise, wenn die Blöcke sind groß, denn es verfügt über eine separate Schleife für alle Zeilen im block stillschweigend in der
if
- Klausel. So, eine gute refactoring wäre:Parametrierung der Separatoren (jetzt hard-codiert '----\n' für die Eingabe-und Ausgabe) ist einer angemessenen Kodierung zu zwicken.
fin
undfou
für Ihre knappe Anschaulichkeit.InformationsquelleAutor Alex Martelli
Für Python2
Für Python Ist3
InformationsquelleAutor John La Rooy
InformationsquelleAutor ghostdog74