i new python programming. input x.yaml file contains list of list of dictionaries. trying print list , it's sub-list items.
input:x.yaml
entities: - level: undefined name: refs: - b reqs: [] - level: undefined name: c refs: - b reqs: [] code:
data = yaml.load(yamlfile) entity in data["entities"]: #needed here. desired output:
-name: refs: - b reqs: [] -name: c refs: - b reqs: []
use yaml.dump() default_flow_style=false:
>>> print yaml.dump(data['entities'], default_flow_style=false) - level: undefined name: refs: - b reqs: [] - level: undefined name: c refs: - b reqs: [] and if don't want 'level', first remove entities:
>>> new_entities = [{key: value key, value in entity.items() if key != 'level'} ... entity in data['entities']] >>> >>> print yaml.dump(new_entities, default_flow_style=false) - name: refs: - b reqs: [] - name: c refs: - b reqs: [] >>> edit: if list , dictionary comprehensions confusing, long (and lower performance) way write it:
>>> new_entities = [] >>> entity in data['entities']: ... new_ent = {} ... key, value in entity.items(): ... if key != 'level': ... new_ent[key] = value ... new_entities.append(new_ent) ... >>> # dump `new_entities`
Comments
Post a Comment