Ich möchte eine Python-Funktion, die bestimmte String-Elemente aus einer Textdatei mit bibliographischen Daten extrahiert. Die Datei enthält verschiedene Leitungen wie folgt aus:Zeichenkette extrahieren mit bibliographischen Daten aus einer TXT-Datei in ein Wörterbuch in Python
shakespeare, william: macbeth. novel, second edition, cambridge, 2005
Jede Zeile von einem \n
getrennt worden ist.
Wie kann ich extrahieren diese Zeilen in eine Struktur wie:
author : shakespeare, william
title : macbeth
usw.
Was haben Sie versucht? Für Regex-bezogene Probleme habe ich immer eine Testseite wie [regex101.com] (http://www.regex101.com) verwendet und spiele mit einer Beispieleingabe, die ich zu verarbeiten versuche. Die Echtzeitergebnisse geben einen guten Eindruck davon, wie sie funktionieren. –
das ist mein Code so weit: 'import re def meta_dict(): mit öffnen (" bib.txt "," rt ", encoding =" utf-8 ") als infile, öffnen (" bib.json " , "wt", encoding = "utf-8") als Ausgangsdatei: content = infile.read() line = content.splitlines() für single in line: Autor = re.search (r '^ [AZ ] [az] + \ s [AZ] [az] + |^[AZ] [a-ä] +, \ s [AZ] [az] + |^[AZ] [a-ü] + |^[AZ ]. [AZ]. \ S [AZ] [az] + |^[AZ] [az] * \ s [az] + |^[AZ] [az] + \ s [az] + \ s [AZ] [az] + ', single) print (author) ' – sepeko86
Verschieben Sie die Zusätze durch Editieren in den Fragenkörper. Sie sind in dieser Form nicht lesbar. –