Maison >développement back-end >Tutoriel Python >Comment convertir un fichier XML en un DataFrame Pandas avec six colonnes spécifiques ?

Comment convertir un fichier XML en un DataFrame Pandas avec six colonnes spécifiques ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-16 15:09:03715parcourir

How to Convert an XML File to a Pandas DataFrame with Six Specific Columns?

Convertir facilement du XML en Pandas DataFrame

Problème :

Étant donné un fichier XML avec une structure spécifique, la tâche consiste à la convertir en un DataFrame pandas propre et organisé avec six colonnes : "clé", "type", "langue", "fonctionnalité", "web" et "données".

Solution :

La méthode la plus efficace pour réaliser cette conversion consiste à utiliser la bibliothèque 'xml' standard de Python. Cette bibliothèque fournit un moyen simple d'analyser et de manipuler des données XML. Voici comment procéder :

  1. Analyser le XML : À l'aide de la classe 'ElementTree' de la bibliothèque 'xml', analysez le fichier XML en un objet ElementTree.
  2. Itérer sur les auteurs : À partir du XML analysé, parcourir chaque balise « auteur ».
  3. Extraire les données du document : Pour chaque « auteur », parcourir son éléments 'document' enfants et extrayez les données souhaitées.
  4. Créez un dictionnaire pour chaque document : Créez un dictionnaire pour chaque 'document' contenant les données pertinentes, y compris le contenu du texte.
  5. Convertir les dictionnaires en DataFrame : Enfin, convertissez la liste des dictionnaires en DataFrame pandas.

Extrait de code :

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

xml_data = "<author..>...</author>" # Replace with your XML string

etree = ET.parse(xml_data)

def iter_docs(author):
    for doc in author.iter('document'):
        doc_dict = author.attrib.copy()
        doc_dict.update(doc.attrib)
        doc_dict['data'] = doc.text
        yield doc_dict

doc_df = pd.DataFrame(list(iter_docs(etree.getroot())))

print(doc_df)

Cette méthode assure une conversion systématique et efficace des données XML en un DataFrame répondant au format souhaité.

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!

Déclaration:
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