YAML è l'abbreviazione di Yet Another Markup Language o YAML non è un linguaggio di markup che è il formato dati utilizzato per scambiare dati. YAML può memorizzare solo dati e nessun comando. È simile ai formati dati XML e JSON. In questo articolo, approfondiremo il concetto di analisi dei file YAML in Python insieme all'esempio.
Analisi dei file YAML in Python
PyYAML Il modulo nella programmazione Python è considerato il parser per Python. Usando questa libreria, possiamo eseguire diverse operazioni sui file YAML come leggere o scrivere i file YAML. La serializzazione e la persistenza dei dati YAML possono essere eseguite anche utilizzando questo modulo PyYAML in Python.
Per utilizzare il modulo PyYAML, dobbiamo installarlo in Pitone eseguendo il comando seguente:
pip install pyyaml>
I file YAML vengono salvati utilizzando 2 diverse estensioni, ovvero: .yaml E .yml . Poiché dobbiamo analizzare il file YAML, abbiamo creato due file YAML che consistono in dati nel formato Chiave: valore paio. Prenderemo i seguenti file YAML come esempio per il nostro articolo.
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>
Ora vediamo alcuni metodi con cui possiamo analizzare un file YAML in Python.
Utilizzando la funzione load()
La funzione yaml.load() nel modulo YAML viene utilizzata per leggere i dati o l'oggetto YAML in un file Dizionario Python . Possono esserci dati YAML costituiti da un numero enorme di coppie chiave-valore (file di configurazione), quindi per leggere questi file, la funzione load() può essere utile poiché esegue la deserializzazione dei dati YAML in Python. IL Caricatore il parametro della funzione load() è impostato su SafeLoader , che intende caricare i dati di YAML in modo sicuro. Ciò è utile negli scenari in cui l'input viene prelevato da fonti non attendibili.
Python3
programma java ciao
import> yaml> with>open>(>'geeksforgeeks.yml'>,>'r'>) as f:> >data>=> yaml.load(f, Loader>=>yaml.SafeLoader)> > # Print the values as a dictionary> print>(data)> |
>
>
Produzione:
{'UserName': 'techcodeview.com', 'Password': 'GFG@123', 'Phone': 1234567890, 'Website': 'techcodeview.com> Utilizzando la funzione full_load()
La funzione yaml.full_load() viene utilizzata per analizzare il contenuto del file YAML sotto forma di coppie chiave-valore. Quindi utilizzando Python Ottenere() metodo, possiamo ottenere dati specifici dal file 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)> |
>
>
Produzione:
{'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'}> Utilizzando la funzione safe_load()
Un altro modo per caricare il file YAML in Python è utilizzare il metodo safe_load(). Può essere utilizzato al posto del parametro SafeLoader del metodo load(), quando i dati vengono caricati da una fonte non attendibile.
Python3
array ordinato in Java
import> yaml> with>open>(>'geeksforgeeks.yml'>) as f:> >dict> => yaml.safe_load(f)> >print>(>dict>)> |
>
>
Produzione:
{'UserName': 'techcodeview.com', 'Password': 'GFG@123 *', 'phone': 987909890, 'website': 'techcodeview.com 'Skills': '-Python -SQL -Django -Rest Framework -JavaScript'}> Utilizzando la funzione load_all()
Il metodo load_all() viene utilizzato quando vogliamo caricare un documento YAML presente in un unico file. IL Caricatore il parametro della funzione load() è impostato su SafeLoader , che intende caricare i dati di YAML in modo sicuro. Ciò è utile negli scenari in cui l'input viene prelevato da fonti non attendibili.
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)> |
>
>
Produzione:
[{'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'}]>