Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich XML effizient in einen Pandas DataFrame konvertieren?

Wie kann ich XML effizient in einen Pandas DataFrame konvertieren?

Barbara Streisand
Freigeben: 2024-11-30 19:46:11
Original
637 Leute haben es durchsucht

How can I convert XML to a Pandas DataFrame efficiently?

XML effizient in einen Pandas DataFrame konvertieren

XML-Dateien können oft wertvolle Daten enthalten, die mit Tools wie Pandas analysiert werden können. Um eine XML-Datei in einen DataFrame zu konvertieren, finden Sie unten einen effektiven Ansatz:

import pandas as pd
import xml.etree.ElementTree as ET
import io

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

xml_data = io.StringIO(u'''YOUR XML STRING HERE''')

etree = ET.parse(xml_data) #create an ElementTree object
doc_df = pd.DataFrame(list(iter_docs(etree.getroot())))
Nach dem Login kopieren

Erklärung:

  • Die Generatorfunktion iter_docs iteriert über die XML-Dokument, das Autorenattribute, Dokumentattribute und den Inhalt des Textknotens des Dokuments in ein Wörterbuch extrahiert.
  • Die Pandas DataFrame wird dann aus einer Liste von Wörterbüchern erstellt, die von der Funktion iter_docs generiert wurden.

Zusätzliche Hinweise:

Das in der Frage bereitgestellte Beispiel-XML geht von einem einzelnen aus Autor. Wenn es mehrere Autoren gibt, kann eine zusätzliche Generatorfunktion, iter_author, verwendet werden, um jeden Autor zu durchlaufen und alle zugehörigen Dokumentwörterbücher zu erhalten. Dazu müsste die letzte Zeile des Beispielcodes wie folgt geändert werden:

doc_df = pd.DataFrame(list(iter_author(etree)))
Nach dem Login kopieren

Weitere Anleitungen zum Arbeiten mit XML in Python finden Sie im ElementTree-Tutorial in der XML-Bibliotheksdokumentation.

Das obige ist der detaillierte Inhalt vonWie kann ich XML effizient in einen Pandas DataFrame konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage