Source code for paws.core.operations.IO.YAML.LoadYAML
from collections import OrderedDict
import numpy as np
import yaml
from ... import Operation as opmod
from ...Operation import Operation
inputs=OrderedDict(file_path=None)
outputs=OrderedDict(yaml_output=None)
[docs]class LoadYAML(Operation):
"""Load data from a YAML file
Returns the output of yaml.load()
"""
def __init__(self):
super(LoadYAML, self).__init__(inputs, outputs)
self.input_doc['file_path'] = 'path to YAML-formatted data file'
self.output_doc['yaml_output'] = 'the result of yaml.load(file_path)'
[docs] def run(self):
p = self.inputs['file_path']
f = open(p,'r')
ds = yaml.load(f)
f.close()
#
#
#
#
for k,v in ds.items():
if isinstance(v,list) or isinstance(v,np.ndarray):
ds[k] = float(v[0])
elif ds[k] is None:
ds.pop(k)
else:
ds[k] = float(v)
#
#
#
#
self.outputs['yaml_output'] = ds