Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich XML-Daten effizient in einen Pandas DataFrame in Python konvertieren?
Beim Umgang mit XML-Daten ist es oft notwendig, die darin enthaltenen Informationen zu verarbeiten und zu analysieren. Pandas bietet hierfür ein praktisches Tool, mit dem Sie XML in strukturierte DataFrames konvertieren können.
Betrachten wir eine XML-Struktur wie die folgende:
<author type="XXX" language="EN" gender="xx" feature="xx" web="foobar.com"> <documents count="N"> <document KEY="e95a9a6c790ecb95e46cf15bee517651">![CDATA[A large text with lots of strings and punctuations symbols [...] ]]></document> <!-- more documents --> </documents> </author>
Das Ziel besteht darin, dieses XML zu konvertieren in einen DataFrame mit Spalten für Schlüssel, Typ, Sprache, Funktion, Web und Daten.
Effizienter Ansatz mit ElementTree
Um dies zu erreichen, können wir Pythons XML nutzen .etree.ElementTree, das eine effiziente Möglichkeit zum Parsen von XML bietet. Hier ist ein verbesserter Ansatz:
import pandas as pd import xml.etree.ElementTree as ET xml_data = "file_path" etree = ET.parse(xml_data) #create an ElementTree object def iter_docs(author): author_attr = author.attrib for doc in author.iter('document'): doc_dict = author_attr.copy() doc_dict.update(doc.attrib) doc_dict['data'] = doc.text yield doc_dict doc_df = pd.DataFrame(list(iter_docs(etree.getroot())))
Bei diesem Ansatz verwenden wir die Generatorfunktion iter_docs, um die Autoren- und Dokumentelemente zu durchlaufen und relevante Attribute und Daten zu extrahieren. Anschließend erstellen wir einen DataFrame aus der generierten Liste der Wörterbücher.
Zusätzliche Hinweise:
Vorteile der Verwendung von ElementTree:
Mit diesem Ansatz können Sie mithilfe von Pandas DataFrames komplexe XML-Daten effizient in ein Tabellenformat konvertieren und so eine weitere Datenbearbeitung und -analyse ermöglichen.
Das obige ist der detaillierte Inhalt vonWie kann ich XML-Daten effizient in einen Pandas DataFrame in Python konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!