小编典典

在Python中解析YAML文件并访问数据?

python

我是YAML的新手,一直在寻找解析YAML文件和使用/访问已解析YAML数据的方法。

我遇到过有关如何解析YAML文件的解释,例如PyYAML教程如何在Python中解析YAML文件”,“将Python字典转换为对象? ”,但是我没有找到一个关于如何从已解析的YAML文件访问数据的简单示例。

假设我有一个YAML文件,例如:

 treeroot:
     branch1: branch1 text
     branch2: branch2 text

如何访问文本“ branch1文本”?

YAML解析和Python吗?
”提供了解决方案,但是在从更复杂的YAML文件访问数据时遇到了问题。而且,我不知道是否有来自解析YAML文件,可能是类似“东西访问数据的一些标准的方式树迭代”或“
elementpath这将解析XML文件时,可以使用”符号的东西?


阅读 211

收藏
2020-12-20

共1个答案

小编典典

由于PyYAML的yaml.load()功能将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

2020-12-20