Ich versuche, eine hierarchische Struktur von Abschnitten, Unterabschnitten, Unterunterabschnitte in einer Wikipedia-Seite zu erhalten.Erhalten hierarchische Struktur von Python-String
Ich habe eine Zeichenfolge wie folgt:
mystr = 'a = b = = c = == d == == e == === f === === g === ==== h ==== === i === == j == == k == = l ='
In diesem Fall wird der Seitenname ist ‚a‘ und die Struktur folgt
= b =
= c =
== d ==
== e ==
=== f ===
=== g ===
==== h ====
=== i ===
== j ==
== k ==
= l =
Die Gleichheitszeichen Indikatoren Abschnitt oder Unter sind Abschnitt und so weiter. Ich brauche eine Python-Liste mit allen relationalen hierarchischen Strukturen wie folgt zu erhalten:
mylist = ['a', 'a/b', 'a/c', 'a/c/d', 'a/c/e', 'a/c/e/f', 'a/c/e/g',
'a/c/e/g/h', 'a/c/e/i', 'a/c/j', 'a/c/k', 'a/l']
Bisher habe ich in der Lage gewesen, indem Sie diese in den Abschnitten, Unterabschnitten und so weiter zu finden:
sections = re.findall(r' = (.*?)\ =', mystr)
subsections = re.findall(r' == (.*?)\ ==', mystr)
...
Aber ich weiß nicht, wie ich von hier fortfahren soll, um die gewünschte Liste zu bekommen.
Willkommen bei SO. Um Ihre Frage zu verbessern, beschreiben Sie bitte, wie die hierarchische Struktur aus der Zeichenkette (d. H. Die Bedeutung der Gleichheitszeichen) und der Postleitzahl, die zeigt, was Sie bereits versucht haben, bestimmt werden sollte. –
Grundsätzlich versuche ich Text aus Wikipedia zu extrahieren. Die Zeichenfolge enthält die Inhaltsnamen einer bestimmten Wikipedia-Seite (Abschnitte, Unterabschnitte, Unterunterabschnitte usw.). In meinem Beispiel ist ein Seitenname; b, c, l sind Abschnitte (also haben sie nur ein Gleichheitszeichen); d, e, j sind Unterabschnitte unter c (also haben sie zwei gleiche Zeichen um sie herum) und so weiter. – user8101320