logo

Analitzeu un fitxer YAML en Python

YAML és l'abreviatura de Yet Another Markup Language o YAML ain't markup Language, que és el format de dades utilitzat per intercanviar dades. YAML només pot emmagatzemar dades i cap ordre. És similar als formats de dades XML i JSON. En aquest article, aprofundirem en el concepte d'anàlisi de fitxers YAML a Python juntament amb l'exemple.

Anàlisi de fitxers YAML a Python

PyYAML El mòdul de programació Python es considera l'analitzador de Python. Mitjançant aquesta biblioteca, podem realitzar diferents operacions sobre els fitxers YAML com llegir o escriure els fitxers YAML. La serialització i les dades YAML persistents també es poden fer mitjançant aquest mòdul PyYAML a Python.

Per utilitzar el mòdul PyYAML, hem d'instal·lar-lo Python executant l'ordre següent:



pip install pyyaml>

Els fitxers YAML es guarden amb 2 extensions diferents, és a dir, .yaml i .yml . Com que hem d'analitzar el fitxer YAML, hem creat dos fitxers YAML que consisteixen en dades al fitxer Clau: valor parella. Prenem els següents fitxers YAML com a exemple per al nostre 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>

Ara vegem alguns mètodes amb els quals podem analitzar un fitxer YAML a Python.

Utilitzant la funció load().

La funció yaml.load() del mòdul YAML s'utilitza per llegir les dades o l'objecte YAML en un Diccionari Python . Hi pot haver dades YAML que consisteixen en un gran nombre de parells clau-valor (fitxers de configuració), de manera que per llegir aquests fitxers, la funció load() pot ser útil perquè realitza la deserialització de dades YAML a Python. El Carregador El paràmetre de la funció load() s'estableix a SafeLoader , que pretén carregar les dades de YAML de manera segura. Això és útil en escenaris en què l'entrada es pren de fonts no fiables.

Python 3




panda fos
import> yaml> with>open>(>'geeksforgeeks.yml'>,>'r'>) as f:> >data>=> yaml.load(f, Loader>=>yaml.SafeLoader)> > # Print the values as a dictionary> print>(data)>

>

>

Sortida:

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

Utilitzant la funció full_load().

La funció yaml.full_load() s'utilitza per analitzar el contingut del fitxer YAML en forma de parells clau-valor. A continuació, utilitzeu Python aconseguir() mètode, podem obtenir dades específiques del fitxer YAML.

Python 3




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)>

>

>

Sortida:

{'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'}>

Utilitzant la funció safe_load().

Una altra manera de carregar el fitxer YAML a Python és mitjançant el mètode safe_load(). Es pot utilitzar en lloc del paràmetre SafeLoader del mètode load() quan les dades es carreguen des d'una font no fiable.

Python 3




java convertir int en cadena

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

>

>

Sortida:

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

Utilitzant la funció load_all().

El mètode load_all() s'utilitza quan volem carregar un document YAML present en un sol fitxer. El Carregador El paràmetre de la funció load() s'estableix a SafeLoader , que pretén carregar les dades de YAML de manera segura. Això és útil en escenaris en què l'entrada es pren de fonts no fiables.

Python 3




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)>

>

>

Sortida:

[{'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'}]>