Comment lire le fichier yaml dans Python

Comment lire le fichier yaml dans Python

La forme complète de Yaml est une autre langue de marquage. Ce format de fichier est maintenant très populaire pour stocker des données sérialisées qui sont lisibles par l'homme. Il est principalement utilisé pour les fichiers de configuration, mais il peut également être utilisé à d'autres fins. Différents types de données scalaires telles que le nombre, la chaîne, etc., et des données composées telles que la liste, le dictionnaire peut être le contenu de ce fichier. L'extension de cette fie est '.yaml '. Plusieurs modules existent dans Python pour lire le fichier YAML. L'utilisation du Pyyaml Module pour lire le fichier YAML dans Python s'est affiché dans ce tutoriel.

Conditions préalables:

Installez le module Pyyaml

Pyyaml est le meilleur module de python pour lire le Yaml déposer. Pyyaml Le module n'est pas installé avec Python par défaut. Vous devez donc installer ce package avant de vérifier les exemples de ce tutoriel. Exécutez la commande suivante pour installer Pyyaml.

$ pip install pyyaml

Créer un fichier YAML

Créer un fichier YAML nommé client.yaml avec le contenu suivant pour utiliser ce fichier dans la partie suivante de ce tutoriel.

client.yaml

- Nom: Kamal Hossain
Courriel: kamal @ gmail.com
Mobile: 01843456790
- Nom: Sakil Ahamed
Courriel: Sakil @ gmail.com
Mobile: 015662343423
- Nom: Mizanur Rahman
Courriel: Mizan @ gmail.com
Mobile: 01936784534

Exemple-1: Lisez le contenu YAML après avoir converti un objet Python

Après avoir installé le Package pyyaml, Le module YAML peut être importé dans le script Python pour lire Yaml Contenu en convertissant un objet Python. Le Fonction Dump () de la yaml le module est utilisé pour créer le Yaml Contenu en sérialisant le contenu de l'objet Python. Créez un fichier Python avec le script suivant pour générer et imprimer le flux YAML en convertissant le contenu de l'objet Python. Le Fonction Dump () Trie le contenu du dictionnaire en fonction des clés par défaut.

# Importer le module YAML
Importer Yaml
# Déclarer un objet Python avec des données
livres = ['name': 'Think Python: An Introduction to Software Design', 'Auteur': 'Allen B. Downey ',' Price ':' 23 ',
'Name': 'Fluent Python: Programmation claire, concise et efficace',
«Auteur»: «Luciano Ramalho», «Price»: «50»,
'name': 'Think Python: une introduction à la conception du logiciel',
«Auteur»: «Allen B. Downey ',' Price ':' 33 '
]]
# Convertir et imprimer les données JSON dans le flux YAML
Imprimer (Yaml.Dump (livres))

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. Les éléments de chaque dictionnaire de la liste Python se sont convertis en chaque membre du contenu YAML. Le contenu de la sortie a trié en fonction des clés du dictionnaire. Pour cela, la valeur de la clé d'auteur a été imprimée en premier, et la valeur de la clé de prix a été imprimée en dernier.

Exemple-2: Lisez le contenu YAML à partir d'un fichier YAML

Le client.fichier yaml créé dans la partie précédente de ce tutoriel a été utilisé dans cet exemple. Créez un fichier Python avec le script suivant pour lire le contenu trié du client.fichier yaml Basé sur les clés. Le Fonction de chargement () a utilisé dans le script pour lire le contenu complet du client.fichier yaml. Cette fonction renvoie le contenu du fichier comme une liste de dictionnaires python. Ensuite, le Fonction Dump () est utilisé pour convertir la liste en un flux YAML qui a été imprimé plus tard.

# Importer le module YAML
Importer Yaml
# Chargez les données YAML du fichier
avec Open (''.yaml ') comme fh:
read_data = yaml.chargement (fh, chargeur = yaml.Fullloader)
# Imprimez les données YAML avant de trier
print (read_data)
# Triez les données YAML basées sur les clés
trid_data = yaml.Dump (read_data)
# Imprimez les données YAML après le tri
imprimer (trid_data)

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. Après avoir converti le contenu du client.fichier yaml Dans une liste de dictionnaires Python, chaque dictionnaire de la liste Python s'est transformé en chaque membre du contenu YAML comme l'exemple précédent. La valeur du paramètre SORT_KEY de la Fonction Dump () est réglé sur Vrai par défaut. Donc, la sortie montre le tri Yaml Contenu basé sur les clés.

Exemple-3: Lisez les clés et les valeurs d'un fichier YAML

Créez un fichier Python avec le script suivant pour lire et imprimer la clé et la valeur séparément de la client.fichier yaml. Après avoir chargé le contenu du fichier dans le variable read_data, le article() La fonction a utilisé pour lire chaque clé et la valeur correspondante du contenu. Le imbriquépour'Loop a utilisé pour itérer le contenu complet du fichier et imprimer les paires de valeurs clés.

# Importer le module YAML
Importer Yaml
# Chargez le fichier YAML
avec Open (''.yaml ') comme fh:
# Chargez les données YAML du fichier
read_data = yaml.chargement (fh, chargeur = yaml.Fullloader)
# Itérer la boucle pour lire et imprimer les données YAML
pour i dans la gamme (0, Len (read_data)):
pour la clé, valeur dans read_data [i].articles():
imprimer (clé, ":", valeur)
imprimer(")

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. Le contenu du fichier n'a pas été trié parce que la fonction Dump () n'a pas été utilisée dans le script.

Exemple-4: Lisez le contenu YAML dans une liste de dictionnaires

Le Fonction Safe_load () est utilisé pour convertir le contenu du fichier yaml en la liste Python des dictionnaires. Cette fonction peut être utilisée pour charger les données à partir de sources non fiables. Créez un fichier Python avec le script suivant pour charger le contenu d'un fichier YAML à l'aide du Fonction Safe_load () et imprimer le contenu chargé.

# Importer le module YAML
Importer Yaml
# Chargez le fichier YAML
avec Open (''.yaml ') comme fh:
# Convertir les données YAML en dictionnaire
dictionary_data = yaml.Safe_load (FH)
# Imprimez les données du dictionnaire
Print (Dictionary_data)

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. Une liste de dictionnaires a été imprimée dans la sortie.

Conclusion:

Les façons de lire Yaml Le contenu d'un objet Python et d'un fichier a été affiché dans ce tutoriel en utilisant divers exemples. Le concept d'analyse du Yaml fichier à l'aide du Package pyyaml sera effacé pour les utilisateurs de Python après avoir pratiqué les exemples de ce tutoriel.