解析YAML文件以收集某些数据

时间:2014-10-21 13:53:13

标签: python-3.x yaml pyyaml

我是.yaml和python的新手。我试图弄清楚如何从yaml解析数据以收集我需要的某些数据并将其写入不同的文件。

Checking Information:
- Time Stamp: ['2014-10-20 17:10:16', '2014-10-20 17:16:10']
  Unique Number: 60025893
  Accept/Reject: 'Yes'
  Policy ID: '01693'
  Specific name: Axis-447
- Time Stamp: ['2014-10-20 18:10:56', '2014-10-20 18:15:53']
  Unique Number: 15832596
  Accept/Reject: 'No'
  Policy ID: '68975'
  Specific name: Axis-533

上面显示了我的yaml文件的一部分。我想尝试提取策略ID,下面的具体名称和代码显示了我到目前为止能够提出的内容。

with open("test.yaml", "r") as f: 
    doc = yaml.load(f)
    txt = doc['Checking Information']['Specific name']
    print(txt)

如果有人能帮助我的话,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

doc['Checking Information']实际上是一个数组。在访问单个密钥之前,您需要遍历数组。

尝试:

txt = doc['Checking Information']
for element in txt:
    print(element['Specific name'])