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())))
Erklärung:
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)))
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!