Я знаком с подобными вопросами, но они, похоже, не затрагивают то, что должно быть простой проблемой. Я использую Python 2.7x и пытается прочитать YAML файл, который выглядит примерно так:Как пропустить строки при чтении файла yaml в python?
%YAML:1.0
radarData: !!opencv-matrix
rows: 5
cols: 2
dt: u
data: [0, 0, 0, 0, 0, 10, 5, 3, 1, 22]
На данный момент мне нужно только «данные:» документ. Я пробовал ванильный подход, а затем попытался заставить пропустить первые 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)
Любые предложения о том, как пропустить первые несколько строк, будут очень признательны.
Спасибо, что нашли время, но @mhawke находится прямо на отметке. FWIW - одна реинкарнация файла данных имеет 4 строки без ямля. Опять-спасибо! – Aengus
Поклонник во мне говорит, будьте осторожны, называя строки «не-ЯМЛ». В конечном счете, если вы столкнетесь с большим количеством того, что я назвал бы «менее строгим» YAML, имеет смысл построить шаги предварительной обработки, которые будут соответствовать данным, а не полагаться на упорядочение ключей в ваших данных. Тем не менее, не фиксируйте, что не сломалось. – spirulence