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())))
Explication :
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)))
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!