2015-06-16 2 views
2

Как получить все значения узлов с таким же именем, например. название, определенное в YAML, в список с помощью python.получить все узлы в YAML с одинаковым именем с помощью python

name: test 
article: 
    title: title1 
paper: 
    title: title2 
blog: 
    title: title3 
+1

У вас есть код, написанный вами, чтобы решить эту проблему? – sobolevn

+0

Как вы хотите, чтобы данные были структурированы? Вы хотите Dict названий с каждого типа, как это: '{ 'название': { 'статьи': 'title1', 'документ': 'title2', 'блог': 'title3' } } ' – stevenviola

+0

Я просто хочу вернуться ['title1', 'title2', 'title3'] –

ответ

0
import os 
import yaml 

# Define the recursive function 
def iter(map, match): 
    output = [] 
    for key, value in map.iteritems(): 
     if type(value) == dict: 
      output += iter(value, match) 
     if key == match: 
      output += [ value ] 

    return output 

f = open(infile, 'r') 
data = yaml.load(f) 
f.close() 

print iter(data, 'title') 
Смежные вопросы