Разбор файла YAML в Python и доступ к данным?

Я новичок в YAML и искал способы анализа файла YAML и использования / доступа к данным из разобранного YAML.

Я столкнулся с объяснениями о том, как разбирать файл YAML, например, учебник PyYAML « Как я могу проанализировать YAML-файл в Python », « Преобразовать Python dict в объект? », Но то, что я не нашел, простой пример того, как получить доступ к данным из проанализированного файла YAML.

Предположим, у меня есть файл YAML, например:

treeroot: branch1: branch1 text branch2: branch2 text 

Как получить доступ к тексту «text1 branch1»?

« Анализ YAML и Python? » Предоставляет решение, но у меня возникли проблемы с доступом к данным из более сложного файла YAML. И мне интересно, существует ли какой-то стандартный способ доступа к данным из проанализированного файла YAML, возможно, что-то похожее на нотацию « Иерархия дерева » или « элементарный путь » или что-то, что будет использоваться при анализе XML-файла?

One Solution collect form web for “Разбор файла YAML в Python и доступ к данным?”

Поскольку yaml.load() PyYAML анализирует документы YAML в собственных структурах данных Python, вы можете просто обращаться к элементам с помощью ключа или индекса. Используя пример из связанного с вами вопроса:

 import yaml with open('tree.yaml', 'r') as f: doc = yaml.load(f) 

Чтобы получить доступ branch1 text вы должны использовать:

 txt = doc["treeroot"]["branch1"] print txt "branch1 text" 

потому что в вашем документе YAML значение ключа branch1 находится под клавишей treeroot .

  • Python и PYAML - yaml.scanner.ScannerError: значения отображения здесь не допускаются
  • Параметры конструктора по умолчанию в pyyaml
  • python open () метод IOError: Нет такого файла или каталога:
  • Есть ли выигрыш в производительности от определения маршрутов в app.yaml по сравнению с одним большим отображением в WSGIApplication в AppEngine?
  • Ошибки pyYAML в строке «!» в строке
  • Как я могу проанализировать YAML-файл в Python
  • Получение ученого представления данных из неконтролируемого обучения в pylearn2
  • Сохранить SQL в YAML как есть
  • Python - лучший язык программирования в мире.