我熟悉类似的问题,但它们似乎并没有解决应该是一个简单的问题.我正在使用Python 2.7x并尝试读取类似于此的YAML文件:
%YAML:1.0
radarData: !!opencv-matrix
rows: 5
cols: 2
dt: u
data: [0, 0, 0, 0, 0, 10, 5, 3, 1, 22]
Run Code Online (Sandbox Code Playgroud)
现在我只需要'data:'文档.我尝试了一种vanilla方法然后尝试强制跳过前4行(第二个被注释掉的代码片段).两种方法都有错误.
import yaml
stream = file('test_0x.yml', 'r')
yaml.load(stream)
# alternative code snippet
# with open('test_0x.yml') as f:
# stream = f.readlines()[4:]
# yaml.load(stream)
Run Code Online (Sandbox Code Playgroud)
关于如何跳过前几行的任何建议都将非常感激.
mha*_*wke 10
实际上,你只需要跳过前两行.
import yaml
skip_lines = 2
with open('test_0x.yml') as infile:
for i in range(skip_lines):
_ = infile.readline()
data = yaml.load(infile)
>>> data
{'dt': 'u', 'rows': 5, 'data': [0, 0, 0, 0, 0, 10, 5, 3, 1, 22], 'cols': 2}
>>> data['data']
[0, 0, 0, 0, 0, 10, 5, 3, 1, 22]
Run Code Online (Sandbox Code Playgroud)
跳过前5行也行.