logo

Analizați un fișier YAML în Python

YAML este abrevierea lui Yet Another Markup Language sau YAML ain’t markup Language, care este formatul de date folosit pentru a face schimb de date. YAML poate stoca numai date și nicio comandă. Este similar cu formatele de date XML și JSON. În acest articol, vom aborda în profunzime conceptul de analiză a fișierelor YAML în Python, împreună cu exemplul.

Analizarea fișierelor YAML în Python

PyYAML Modulul din programarea Python este considerat analizator pentru Python. Folosind această bibliotecă, putem efectua diferite operațiuni asupra fișierelor YAML, cum ar fi citirea sau scrierea fișierelor YAML. Serializarea și datele YAML persistente se pot face și folosind acest modul PyYAML în Python.

Pentru utilizarea Modulului PyYAML, trebuie să-l instalăm în Piton executând comanda de mai jos:



pip install pyyaml>

Fișierele YAML sunt salvate folosind 2 extensii diferite, adică .yaml și .yml . Deoarece trebuie să analizăm fișierul YAML, am creat două fișiere YAML care constau din date în Valoare cheie pereche. Vom lua următoarele fișiere YAML ca exemplu pentru articolul nostru.

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>

Acum să vedem câteva metode prin care putem analiza un fișier YAML în Python.

Folosind funcția load().

Funcția yaml.load() din modulul YAML este utilizată pentru a citi datele sau obiectul YAML într-un Dicţionar Python . Pot exista date YAML care constau dintr-un număr mare de perechi cheie-valoare (fișiere de configurare), astfel încât pentru a citi aceste fișiere, funcția load() poate fi utilă, deoarece efectuează deserializarea datelor YAML în Python. The Încărcător parametrul funcției load() este setat la SafeLoader , care intenționează să încarce datele YAML în siguranță. Acest lucru este util în scenariile în care intrarea este preluată din surse nesigure.

Python3




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

>

>

Ieșire:

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

Folosind funcția full_load().

Funcția yaml.full_load() este utilizată pentru a analiza conținutul fișierului YAML sub formă de perechi cheie-valoare. Apoi, folosind Python obține() metoda, putem obține date specifice din fișierul 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)>

>

>

Ieșire:

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

Folosind funcția safe_load().

O altă modalitate de a încărca fișierul YAML în Python este utilizarea metodei safe_load(). Poate fi folosit în locul parametrului SafeLoader al metodei load() când datele sunt încărcate dintr-o sursă neîncrezătoare.

Python3


matrice sortată în java



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

>

>

Ieșire:

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

Folosind funcția load_all().

Metoda load_all() este folosită atunci când dorim să încărcăm un document YAML prezent într-un singur fișier. The Încărcător parametrul funcției load() este setat la SafeLoader , care intenționează să încarce datele YAML în siguranță. Acest lucru este util în scenariile în care intrarea este preluată din surse nesigure.

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

>

>

Ieșire:

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