我很熟悉類似的問題,但他們似乎沒有解決什麼應該是一個簡單的問題。我正在使用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