Ich stoße auf ein Problem, wenn ich versuche, den Elternknoten eines tr-Elements zu erhalten, während ich sie alle durchlaufe.Python lxml iteriert durch tr-Elemente
Hier ist eine grundlegende Tabelle, mit der ich arbeite.
<table border=1> <tbody> <tr> <td> <p>Some text</p> </td> <td> <p>Some more text</p> </td> </tr> <tr> <td> <p> Some more text</p> </td> <td> <p> Some more text</p> </td> </tr> <tr> <td> <p> Some more text</p> </td> <td> <p> Some more text</p> </td> </tr> </tbody> </table>
Und hier ist mein Python-Skript den übergeordneten Knoten mit lxml
import lxml.html
htm = lxml.html.parse('plaintable.htm')
tr = htm.xpath('//tr')
for x in tr:
tbody = tr.getparent()
if tbody.index(tr) == 1:
print ('Success!')
print ('Finished')
Ich erhalte diesen Fehler zu bekommen, wenn ich das Skript ausführen: Attribute: ‚list‘ Objekt hat kein Attribut ‚GetParent '
Ich bin ziemlich neu in Python, so dass es etwas Einfaches sein könnte ich vermasseln. Ich habe die lxml-Dokumente gelesen und konnte keine Antwort finden.
Jede Hilfe wäre großartig!
Ah perfekt! Ich habe falsch verstanden, wie man den Index in der for-Schleife aufruft. Ich bin an JavaScript gewöhnt, also hatte ich eine harte Zeit. Kurz gesagt, ich baue eine XML-Datei basierend auf den Tabellen im HTML-Dokument. Ich arbeite derzeit mit 36 verschiedenen Tischen. Ich muss den ersten tr in jeder Tabelle finden, um es richtig zu bauen – Chad
@Chad bekam es, auch aktualisiert mit einem Beispielcode für die "Ich muss den ersten tr in jeder Tabelle finden, um es richtig zu bauen" Teil. Vielen Dank! – alecxe
Ehrfürchtig, das wird sehr hilfreich beim Erstellen der Elternknoten sein. Ich schätze deine Hilfe sehr! – Chad