Seite 1 von 1
Datei nach Schlüsselwort durchsuchen und auslesen
Verfasst: Donnerstag 7. Juli 2016, 11:28
von Kurtosis
Hallo,
ich möchte eine Textdatei (angenommen sie enthalte die Namen von Aquarienfischen und deren Ladenpreis) nach einem Schlüsselwort (z.B. Guppy) durchsuchen lassen und dann anschließend die Zeile auslesen und die Zusatzinformationen (z.B. Ladenpreis) herausfiltern. Wie geht man das am besten an und welche Funktionen sind hierfür sinnvoll?
Überlegt habe ich mir mittels einer Schleife, die Datei zeilenweise durchlaufen zu lassen, um dann abzubrechen, sobald das Schlüsselwort gefunden wurde. Anschließend soll die Zeile ausgelesen und weiterverarbeitet werden.
Ich hoffe, ihr könnt mir weiterhelfen. Vielen Dank schon mal!
Re: Datei nach Schlüsselwort durchsuchen und auslesen
Verfasst: Donnerstag 7. Juli 2016, 11:34
von BlackJack
@Kurtosis: Klingt doch schon mal nicht schlecht. Statt einer freien Textdatei könnte man vielleicht etwas Struktur rein bringen und eine CSV-Datei verwenden. Dafür gäbe es dann das `csv`-Modul in der Standardbibliothek.
Re: Datei nach Schlüsselwort durchsuchen und auslesen
Verfasst: Donnerstag 7. Juli 2016, 11:37
von Kurtosis
@BlackJack: Danke für deinen Hinweis! Das Problem ist allerdings, dass ich das erstmal ganz allgemein und weitestgehend unabhängig vom Dateityp lösen möchte, d.h. auch für Dateien, bei denen nicht ordentlich spaltenweise Informationen eingetragen sind, sondern z.B. auch für Code-Dateien, in denen ich aber nach bestimmten Größen suchen möchte.
Re: Datei nach Schlüsselwort durchsuchen und auslesen
Verfasst: Donnerstag 7. Juli 2016, 12:27
von Kurtosis
Nachtrag: Ich versuche das Problem mal mit Hilfe regulärer Ausdrücke anzugehen und mit den Funktionen search und findall u.a. zu arbeiten. Finde allerdings den Syntax von diesen Funktionen noch etwas verwirrend.

Re: Datei nach Schlüsselwort durchsuchen und auslesen
Verfasst: Donnerstag 7. Juli 2016, 14:20
von /me
Kurtosis hat geschrieben:Überlegt habe ich mir mittels einer Schleife, die Datei zeilenweise durchlaufen zu lassen, um dann abzubrechen, sobald das Schlüsselwort gefunden wurde. Anschließend soll die Zeile ausgelesen und weiterverarbeitet werden.
Nehmen wir an, dein geöffnetes Dateiobjekt sei
data und der Suchbegriff
keyword, dann ist folgendes die Basisstruktur.
Code: Alles auswählen
def analyze_file(data, keyword):
for line in data:
if keyword in line:
do_something(line)
Die Funktion
do_something (die natürlich einen sinnvolleren Namen bekommen sollte) arbeitet dann mit der jeweils gefundenen Zeile.
Re: Datei nach Schlüsselwort durchsuchen und auslesen
Verfasst: Montag 16. Dezember 2019, 11:21
von liliput
Hallo,
ich möchte ebenfalls eine CSV Datei nach Stichwörtern durchsuchen. Allerdings möchte ich nur die erste Zeile der CSV Datei durchsuchen aber nach zwei Stichwörtern (z.B. Versuchspunkt und Datum). Zudem soll, sofern beide Stichwörter nicht vorhanden sind, ein Pop up Fenster mit einer Warnung aufspringen. Eine Funktion mit dem Pop up Fenster habe ich bereits geschrieben. Allerdings weiß ich nicht wie ich den Code für zwei Keywords umschreiben kann (bitte verzeiht mir bin absoluter Neuling im Programmieren mit Python). Zudem öffnet sich das Pop up Fenster, wenn ich es als else-Bedingung einfüge bereits, wenn das erste Feld nicht das keyword enthält und dann so weiter bis das Keyword auftaucht. Ich hätte allerdings gerne, dass er die ganze erste Zeile nach den zwei Keywörtern durchsucht und dann das Pop up Fenster sich öffnet, sofern beide nicht existieren.
Würde euch gerne noch meinen Code zur Verfügung stellen, jedoch weiß ich nicht wie das genau funktioniert, sodass er die Formatierung beibehält. Habe diesbezüglich leider nichts in den FAQ's gefunden. Hilfe wäre auch hier sehr willkommen.
Vielen Dank schon mal und frohe Weihnachten.
Re: Datei nach Schlüsselwort durchsuchen und auslesen
Verfasst: Montag 16. Dezember 2019, 12:40
von __deets__
Bitte einen neuen Thread aufmachen, statt sich an dieses schon sehr alte Thema dranzuhaengen. Und auch wenn eine Beschreibung der Aufgabenstellung gut ist, ist das Beschreiben von Code und was der nicht tut wenig hilfreich. Bitte den konkreten Code, und konkrete Fehlermeldungen komplett posten, und dabei die wichtigen code-tags nicht vergessen, damit man den lesen kann.