logo

Проаналізуйте файл YAML у Python

YAML — це абревіатура від Yet Another Markup Language або YAML ain’t markup Language, тобто формат даних, який використовується для обміну даними. YAML може зберігати лише дані і жодних команд. Він подібний до форматів даних XML і JSON. У цій статті ми детально зануримося в концепцію розбору файлів YAML у Python разом із прикладом.

Розбір файлів YAML у Python

PyYAML Модуль у програмуванні на Python розглядається як парсер для Python. Використовуючи цю бібліотеку, ми можемо виконувати різні операції з файлами YAML, наприклад читати або записувати файли YAML. Серіалізацію та збереження даних YAML також можна виконати за допомогою цього модуля PyYAML у Python.

Щоб використовувати модуль PyYAML, нам потрібно його встановити Python виконавши наведену нижче команду:



pip install pyyaml>

Файли YAML зберігаються з використанням 2 різних розширень, тобто .yaml і .yml . Оскільки нам потрібно розібрати файл YAML, ми створили два файли YAML, які складаються з даних у Ключ: Значення пара. Як приклад для нашої статті ми візьмемо наступні файли YAML.

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>

Тепер давайте розглянемо кілька методів, за допомогою яких ми можемо розібрати файл YAML у Python.

Використання функції load().

Функція yaml.load() у модулі YAML використовується для читання даних або об’єкта YAML у Словник Python . Дані YAML можуть складатися з величезної кількості пар ключ-значення (конфігураційні файли), тому для читання цих файлів може бути корисною функція load(), оскільки вона виконує десеріалізацію даних YAML у Python. The Навантажувач параметр функції load() має значення SafeLoader , який має намір безпечно завантажити дані YAML. Це корисно в сценаріях, коли дані беруться з ненадійних джерел.

Python3




виняток нульового покажчика
import> yaml> with>open>(>'geeksforgeeks.yml'>,>'r'>) as f:> >data>=> yaml.load(f, Loader>=>yaml.SafeLoader)> > # Print the values as a dictionary> print>(data)>

>

>

Вихід:

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

Використання функції full_load().

Функція yaml.full_load() використовується для аналізу вмісту файлу YAML у формі пар ключ-значення. Потім за допомогою Python отримати() метод, ми можемо отримати конкретні дані з файлу 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)>

>

>

Вихід:

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

Використання функції safe_load().

Ще один спосіб завантажити файл YAML у Python — це використати метод safe_load(). Його можна використовувати замість параметра SafeLoader методу load(), коли дані завантажуються з ненадійного джерела.

Python3




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

>

лексикографічно
>

Вихід:

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

Використання функції load_all().

Метод load_all() використовується, коли ми хочемо завантажити документ YAML в одному файлі. The Навантажувач параметр функції load() має значення SafeLoader , який має намір безпечно завантажити дані YAML. Це корисно в сценаріях, коли дані беруться з ненадійних джерел.

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

>

>

Вихід:

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