Parsing a YAML file in Python Example

To parse a YAML file in Python, you will need to make use of the PyYAML library.

You can get this using the pip3

pip3 install pyyaml
YAML file: countries.yaml
- country: 
    name: "USA"
    capital: "Washington, D.C."
      - name: "New York City"
        population: 8537673
          - "Statue of Liberty"
          - "Times Square"
          - "Central Park"
      - name: "Los Angeles"
        population: 3979576
          - "Hollywood Walk of Fame"
          - "Universal Studios"
          - "Santa Monica Pier"
- country: 
    name: "France"
    capital: "Paris"
      - name: "Paris"
        population: 2140526
          - "Eiffel Tower"
          - "Louvre Museum"
          - "Notre-Dame Cathedral"
      - name: "Nice"
        population: 342637
          - "Promenade des Anglais"
          - "Old Town (Vieux Nice)"
          - "Castle Hill (Colline du ChΓ’teau)"

Python Code to PArse YAML file
Parsing YAML file in Python

Author  :
Version : v 1.0
Date    : 3 July 2023 


import yaml

def parse_yaml_file(yaml_file):
    with open(yaml_file, 'r') as file:
        data = yaml.safe_load(file)
    return data

yaml_file = 'countries.yaml'
parsed_data = parse_yaml_file(yaml_file)

for country in parsed_data:
    print("Country:", country['country']['name'])
    print("Capital:", country['country']['capital'])
    for city in country['country']['cities']:
        print(" > Name:", city['name'])
        print("   Population:", city['population'])
        print("   Tourist Spots:", city['tourist_spots'])
Country: USA
Capital: Washington, D.C.
 > Name: New York City
   Population: 8537673
   Tourist Spots: ['Statue of Liberty', 'Times Square', 'Central Park']
 > Name: Los Angeles
   Population: 3979576
   Tourist Spots: ['Hollywood Walk of Fame', 'Universal Studios', 'Santa Monica Pier']

Country: France
Capital: Paris
 > Name: Paris
   Population: 2140526
   Tourist Spots: ['Eiffel Tower', 'Louvre Museum', 'Notre-Dame Cathedral']
 > Name: Nice
   Population: 342637
   Tourist Spots: ['Promenade des Anglais', 'Old Town (Vieux Nice)', 'Castle Hill (Colline du ChΓ’teau)']

Facing issues? Have Questions? Post them here! I am happy to answer!

Author Info:

Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.

Follow him on: X

You can also reach out to him via e-mail:

Copyright Β© Code2care 2024 | Privacy Policy | About Us | Contact Us | Sitemap