Skip to content

Instantly share code, notes, and snippets.

@taikedz
Created October 14, 2020 10:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save taikedz/82cb5b1360a1c03d07358e0ac6696bed to your computer and use it in GitHub Desktop.
Save taikedz/82cb5b1360a1c03d07358e0ac6696bed to your computer and use it in GitHub Desktop.
Convert YAML data to Python

Quick one-off script to convert a yaml file to native python.

python3 convert-yaml-to-python.py YAMLFILE > my_data.py

A little naive, but a quick tool otherwise.

import yaml
import sys
with open(sys.argv[1], 'r') as fh:
yaml_data = yaml.full_load(fh)
def do_print(data, indent=0):
if type(data) is dict:
print("%s{"%(" "*indent))
indent += 2
for k,v in data.items():
print('%s"%s" : ' % (" "*indent,k), end='')
do_print(v, indent)
print("%s},"%(" "*(indent-2)))
elif type(data) is list:
print("%s["%(" "*indent))
indent += 2
for item in data:
do_print(item, indent)
print("%s],"%(" "*(indent-2)))
elif type(data) in [str, float, int, bool]:
if type(data) is str:
data = '"'+data+'"' if not data.startswith('"') else data
print("%s%s,"%(" "*(indent),data))
else:
print("%s%s,"%(" "*indent, type(data)))
do_print(yaml_data)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment