logo

Analyser un fichier YAML en Python

YAML est l'abréviation de Yet Another Markup Language ou YAML n'est pas un langage de balisage qui est le format de données utilisé pour échanger des données. YAML ne peut stocker que des données et aucune commande. Il est similaire aux formats de données XML et JSON. Dans cet article, nous approfondirons le concept d'analyse des fichiers YAML en Python avec l'exemple.

Analyse des fichiers YAML en Python

PyYAML Le module de programmation Python est considéré comme l'analyseur pour Python. En utilisant cette bibliothèque, nous pouvons effectuer différentes opérations sur les fichiers YAML comme la lecture ou l'écriture des fichiers YAML. La sérialisation et la persistance des données YAML peuvent également être effectuées à l'aide de ce module PyYAML en Python.

Pour utiliser le module PyYAML, nous devons l'installer dans Python en exécutant la commande ci-dessous :



pip install pyyaml>

Les fichiers YAML sont enregistrés à l'aide de 2 extensions différentes, à savoir : .yaml et .yml . Comme nous devons analyser le fichier YAML, nous avons créé deux fichiers YAML constitués de données dans le Valeur clé paire. Nous prendrons les fichiers YAML suivants comme exemple pour notre article.

geeksforgeek.yml

UserName: techcodeview.com Password: GFG@123 Phone: 1234567890 Website: techcodeview.com Skills:  -Python  -SQL  -Django  -Javascript>

multi_docs.yml

--- UserName: techcodeview.com Password: GFG@123 Phone: 1234567890 Website: techcodeview.com Skills:  -Python  -SQL  -Django  -Javascript ... --- UserName: Google Password: google@123 Phone: 1234567890 Website: google.com Skills:  -Python  -SQL  -Django  -Javascript ... --- UserName: Yahoo Password: yahoo@123 Phone: 1234567890 Website: yahoo.com Skills:  -Python  -SQL  -Django  -Javascript>

Voyons maintenant quelques méthodes grâce auxquelles nous pouvons analyser un fichier YAML en Python.

Utilisation de la fonction load()

La fonction yaml.load() du module YAML est utilisée pour lire les données ou l'objet YAML dans un Dictionnaire Python . Il peut y avoir des données YAML constituées d'un grand nombre de paires clé-valeur (fichiers de configuration), donc pour lire ces fichiers, la fonction load() peut être utile car elle effectue la désérialisation des données YAML en Python. Le Chargeur Le paramètre de la fonction load() est défini sur Chargeur sécurisé , qui vise à charger les données de YAML en toute sécurité. Ceci est utile dans les scénarios où les entrées proviennent de sources non fiables.

Python3




quand se termine le premier trimestre
import> yaml> with>open>(>'geeksforgeeks.yml'>,>'r'>) as f:> >data>=> yaml.load(f, Loader>=>yaml.SafeLoader)> > # Print the values as a dictionary> print>(data)>

>

>

Sortir:

{'UserName': 'techcodeview.com', 'Password': 'GFG@123', 'Phone': 1234567890,  'Website': 'techcodeview.com>

Utilisation de la fonction full_load()

La fonction yaml.full_load() est utilisée pour analyser le contenu du fichier YAML sous forme de paires clé-valeur. Puis en utilisant le Python obtenir() méthode, nous pouvons obtenir des données spécifiques du fichier YAML.

Python3




import> yaml> with>open>(>'geeksforgeeks.yml'>,>'r'>) as f:> >data>=> yaml.full_load(f)> > # Print the values as a dictionary> output>=> {> >'UserName'>: data.get(>'UserName'>),> >'Password'>: data.get(>'Password'>),> >'phone'>: data.get(>'Phone'>),> >'Skills'>:>' '>.join(data.get(>'Skills'>, []))> }> print>(output)>

>

>

Sortir:

{'UserName': 'techcodeview.com', 'Password': 'GFG@123', 'phone': 1234567890,  'Skills': '- P y t h o n - S Q L - D j a n g o - J a v a s c r i p t'}>

Utilisation de la fonction safe_load()

Une autre façon de charger le fichier YAML en Python consiste à utiliser la méthode safe_load(). Il peut être utilisé à la place du paramètre SafeLoader de la méthode load(), lorsque les données sont chargées à partir d’une source non fiable.

Python3


dérivé partiel du latex



import> yaml> with>open>(>'geeksforgeeks.yml'>) as f:> >dict> => yaml.safe_load(f)> >print>(>dict>)>

>

>

Sortir:

{'UserName': 'techcodeview.com', 'Password': 'GFG@123 *', 'phone': 987909890,  'website': 'techcodeview.com 'Skills': '-Python -SQL -Django -Rest Framework -JavaScript'}>

Utilisation de la fonction load_all()

La méthode load_all() est utilisée lorsque l'on souhaite charger un document YAML présent dans un seul fichier. Le Chargeur Le paramètre de la fonction load() est défini sur Chargeur sécurisé , qui vise à charger les données de YAML en toute sécurité. Ceci est utile dans les scénarios où les entrées proviennent de sources non fiables.

Python3




import> yaml> from> yaml.loader>import> SafeLoader> # open yaml file in read> with>open>(>'multiple_documents.yml'>,>'r'>) as f:> >yaml_data>=> list>(yaml.load_all(f, Loader>=>SafeLoader))> >print>(yaml_data)>

>

>

Sortir:

[{'UserName': 'techcodeview.com', 'Password': 'GFG@123', 'Phone': 1234567890,  'Website': 'techcodeview.com {'UserName': 'Google', 'Password': 'google@123', 'Phone': 1234567890,  'Website': 'google.com', 'Skills': '-Python -SQL -Django -Resst Framework -Javascript'},  {'UserName': 'Yahoo', 'Password': 'yahoo@123', 'Phone': 1234567890,  'Website': 'yahoo.com', 'Skills': '-Python -SQL -Django -Resst Framework -Javascript'}]>