我很熟悉类似的问题,但他们似乎没有解决什么应该是一个简单的问题。我正在使用Python 2.7x并尝试读取与此类似的YAML文件:如何在python中读取yaml文件时跳过行?
%YAML:1.0
radarData: !!opencv-matrix
rows: 5
cols: 2
dt: u
data: [0, 0, 0, 0, 0, 10, 5, 3, 1, 22]
现在我只需要'data:'文档。我尝试了一种香草方法,然后尝试强制跳过前四行(注释掉的第二个代码片段)。两种方法都有错误。
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)
任何关于如何跳过前几行的建议将非常感激。
感谢双方抽出时间,但@mhawke是正确的。 FWIW--数据文件的一次转化有4个非yaml行。再次,谢谢! – Aengus 2015-01-21 11:09:00
我身上的那个坚持者说要小心,把这些行称为“非YAML”。从长远来看,如果您遇到很多我称之为“不太严格”的YAML,那么建立预处理步骤可以使数据稳健地符合数据,而不是依赖数据中的键的顺序。也就是说,不要修补没有破坏的东西。 – spirulence 2015-01-21 16:54:37