Lisez le fichier xml en vous référant au didacticiel Python

data3.xml


<data>
    <country name="Liechtenstein">
        <rank>1</rank>
        <year>2008</year>
        <gdppc>141100</gdppc>
        <neighbor name="Austria" direction="E"/>
        <neighbor name="Switzerland" direction="W"/>
    </country>
    <country name="Singapore">
        <rank>4</rank>
        <year>2011</year>
        <gdppc>59900</gdppc>
        <neighbor name="Malaysia" direction="N"/>
    </country>
    <country name="Panama">
        <rank>68</rank>
        <year>2011</year>
        <gdppc>13600</gdppc>
        <neighbor name="Costa Rica" direction="W"/>
        <neighbor name="Colombia" direction="E"/>
    </country>
</data>

findall Se réfère à tous les mêmes nœuds enfants

Spécifiez la balise souhaitée avec find ou findall Obtenez toutes les balises de pays ci-dessous

from xml.etree import ElementTree


path = 'data3.xml'
tree = ElementTree.parse(path)
root = tree.getroot()
countries = root.findall('country')
for country in countries:
    gdppc = country.find('gdppc')
    print(country.attrib)
    print(gdppc.text)
{'name': 'Liechtenstein'}
141100
{'name': 'Singapore'}
59900
{'name': 'Panama'}
13600

Montez au nœud petit-enfant

Nest pour les déclarations.

cnt = 1
for child in root:
    print('---', cnt, '---')
    print(child.tag, child.attrib, child.text)
    for gild in child:
        print(gild.tag, gild.attrib, gild.text)
    cnt += 1
--- 1 ---
country {'name': 'Liechtenstein'}

rank {} 1
year {} 2008
gdppc {} 141100
neighbor {'name': 'Austria', 'direction': 'E'} None
neighbor {'name': 'Switzerland', 'direction': 'W'} None
--- 2 ---
country {'name': 'Singapore'}

rank {} 4
year {} 2011
gdppc {} 59900
neighbor {'name': 'Malaysia', 'direction': 'N'} None
--- 3 ---
country {'name': 'Panama'}

rank {} 68
year {} 2011
gdppc {} 13600
neighbor {'name': 'Costa Rica', 'direction': 'W'} None
neighbor {'name': 'Colombia', 'direction': 'E'} None

URL de référence

https://docs.python.org/ja/3/library/xml.etree.elementtree.html

Recommended Posts

Lisez le fichier xml en vous référant au didacticiel Python
Comment changer le fichier de configuration pour qu'il soit lu par Python
Lisez le fichier ligne par ligne avec Python
Lisez le fichier ligne par ligne avec Python
Modèle de script python pour lire le contenu du fichier
Lisons le fichier RINEX avec Python ①
Lisez le fichier en spécifiant le code de caractère.
[Python] Lire la ligne spécifiée dans le fichier
[Python Kivy] Comment obtenir le chemin du fichier par glisser-déposer
Comment lire un fichier CSV avec Python 2/3
[Python] Comment lire des fichiers Excel avec des pandas
Comment effacer les caractères générés par Python
Lire ligne par ligne à partir d'un fichier avec Python
Lire le fichier csv Python
Différentes façons de lire la dernière ligne d'un fichier csv en Python
Récapitulatif des opérations du fichier bucket (transfert, acquisition, suppression, lecture, etc.) vers GCS par python
Conversion de Fourier du fichier wav lu par Python, conversion inverse et réécriture
[Python] Essayez de lire la bonne réponse au problème FizzBuzz
J'ai essayé de toucher un fichier CSV avec Python
[Python] Vous pouvez enregistrer un objet dans un fichier en utilisant le module pickle.
Lire du XML avec un espace de noms spécifié en Python
[Python] Ouvrez le fichier csv dans le dossier spécifié par pandas
[python] Remplacez le nom du fichier image par un numéro de série
[Python] Lisez le fichier csv et affichez la figure avec matplotlib
Attacher au processus Python de la destination SSH et déboguer
Comment lire un fichier Excel (.xlsx) avec Pandas [Python]
Essayez de déchiffrer les caractères déformés dans le nom du fichier joint avec Python
Comment lire du texte avec une entrée standard ou une spécification de nom de fichier comme cat en Python
Python --Lisez des données à partir d'un fichier de données numériques pour trouver des matrices, des valeurs propres et des vecteurs propres distribués co-distribués
Laissez le traitement gênant à Python
Extraire le fichier xz avec python
[Python] Ecrire dans un fichier csv avec Python
Créez un script shell pour exécuter le fichier python plusieurs fois
Lire la sortie standard d'un sous-processus ligne par ligne en Python
Dans la commande python, python pointe vers python3.8
Comment lire l'ensemble de données SNLI
Comment obtenir la version Python
Après avoir appelé le fichier Shell sur Python, convertissez CSV en Parquet.
[pepper] Transmettez toutes les données JSON obtenues par requête python à la tablette.
Demandez à python de lire la sortie de la commande
Trier les noms de fichiers obtenus par Python glob dans l'ordre numérique
Lisez le fichier en Python avec un chemin relatif depuis le programme
Lisez l'ancien fichier Word du formulaire d'application Gakushin DC (.doc) à partir de Python et essayez de le faire fonctionner
Déployer le didacticiel Django sur IIS ①
Extraire le fichier targz en utilisant python
Essayer d'implémenter et de comprendre les arborescences de segments étape par étape (python)
[Python] Lire le code source de Flask
Téléchargement de fichiers vers Azure Storage (Python)
[Python] Changer l'alphabet en nombre
[Tutoriel Python] Une introduction facile à Python
Django super introduction par les débutants Python! Partie 3 J'ai essayé d'utiliser la fonction d'héritage de fichier de modèle
Télécharger et télécharger des fichiers wav sur X-Server par FTP avec Python
Un mémo organisé en renommant les noms de fichiers dans le dossier avec python
Vérifiez le nom du fichier si l'importation Python vous dit que vous ne pouvez pas
[Python] Comment lire le fichier csv (méthode read_csv du module pandas)
Le nom du fichier était mauvais en Python et j'étais accro à l'importation