String-Liste auswerten
Verfasst: Sonntag 15. April 2012, 12:25
Moin allerseits.
Ich lese hier jetzt schon seit einiger Zeit mit, weil ich mich mit dem Gedanken trage, irgendwann (womöglich noch in diesem Leben?
) Python zu erlernen.
Jetzt hatte ich mich eben an eine kleine Aufgabe gesetzt, die das Auslesen und Interpretieren des Inhalts einer PDF-Datei beinhaltet.
Zum Auslesen des Textes verwende ich pdfminer, was soweit auch funktioniert.
Zurückgeliefert bekomme ich einen String, den ich mit ".split(‘\n')" in einzelne Zeilen unterteile.
Ziel ist es jetzt, aus dieser Liste von Strings einen bestimmten Abschnitt herauszulösen.
Vielleicht zunächst einmal mein bisheriger Code:
So bekomme ich also die Zeile geliefert, die auf die Zeile, die mit 'flight date' beginnt, folgt. Da die Daten, die mich interessieren, schon vor dem Ende der Liste aufhören, könnte ich es genauso mit dem Ende machen: mit while durchlaufen und dann schließlich mit liste[Anfang:Ende] darauf zugreifen. (Was ich vorerst komplett außer Acht gelassen habe, ist natürlich die Überprüfung, ob überhaupt sinnvolle Daten vorhanden sind - aber das soll mal nicht Thema dieses Posts sein.)
Aber irgendwie drängt sich mir der Eindruck auf, daß dies alles andere als elegant ist. Meist gibt es ja doch einen 'python way', der weitaus schöner, kürzer und - nach kurzem Nachdenken - auch intuitiv ist.
Einzig: ich komme nicht drauf. Könnte mich bitte jemand erleuchten?
Dank und Gruß,
Daniel
Ich lese hier jetzt schon seit einiger Zeit mit, weil ich mich mit dem Gedanken trage, irgendwann (womöglich noch in diesem Leben?

Jetzt hatte ich mich eben an eine kleine Aufgabe gesetzt, die das Auslesen und Interpretieren des Inhalts einer PDF-Datei beinhaltet.
Zum Auslesen des Textes verwende ich pdfminer, was soweit auch funktioniert.
Zurückgeliefert bekomme ich einen String, den ich mit ".split(‘\n')" in einzelne Zeilen unterteile.
Ziel ist es jetzt, aus dieser Liste von Strings einen bestimmten Abschnitt herauszulösen.
Vielleicht zunächst einmal mein bisheriger Code:
Code: Alles auswählen
...
zeilen = ausgabe.getvalue()
liste = zeilen.split('\n')
zeile = 0
while zeile < len(liste):
if liste[zeile].startswith('flight date'):
zeile += 1
break
zeile += 1
print zeile
print liste[zeile:]
Aber irgendwie drängt sich mir der Eindruck auf, daß dies alles andere als elegant ist. Meist gibt es ja doch einen 'python way', der weitaus schöner, kürzer und - nach kurzem Nachdenken - auch intuitiv ist.
Einzig: ich komme nicht drauf. Könnte mich bitte jemand erleuchten?

Dank und Gruß,
Daniel