Maison > développement back-end > Tutoriel Python > Comment puis-je convertir efficacement du XML en Pandas DataFrame ?

Comment puis-je convertir efficacement du XML en Pandas DataFrame ?

Barbara Streisand
Libérer: 2024-11-30 19:46:11
original
642 Les gens l'ont consulté

How can I convert XML to a Pandas DataFrame efficiently?

Conversion efficace de XML en un DataFrame Pandas

Les fichiers XML peuvent souvent contenir des données précieuses qui peuvent être analysées à l'aide d'outils tels que Pandas. Pour convertir un fichier XML en DataFrame, une approche efficace peut être trouvée ci-dessous :

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())))
Copier après la connexion

Explication :

  • La fonction génératrice iter_docs itère sur le Document XML, extrayant les attributs de l'auteur, les attributs du document et le contenu du nœud de texte du document dans un dictionnaire.
  • Le Pandas DataFrame est ensuite construit à partir d'une liste de dictionnaires générés par la fonction iter_docs.

Notes supplémentaires :

L'exemple XML fourni dans la question suppose un seul auteur. S'il y a plusieurs auteurs, une fonction génératrice supplémentaire, iter_author, peut être utilisée pour parcourir chaque auteur et générer tous leurs dictionnaires de documents respectifs. Cela nécessiterait de modifier la dernière ligne de l'exemple de code en :

doc_df = pd.DataFrame(list(iter_author(etree)))
Copier après la connexion

Pour plus de conseils sur l'utilisation de XML en Python, reportez-vous au didacticiel ElementTree dans la documentation de la bibliothèque XML.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal