2013-01-11 27 views
-1

我使用YAML以下列方式存儲時序數據考慮:YAML的時間序列數據

- entrydate: 5:55 AM 1/1/2013 
    title: blog post 1 
    tags: [yaml, json] 
    description: what have i learned today 1 
    location: scottsdale 
- entrydate: 5:55 AM 1/2/2013 
    title: blog post 2 
    tags: [general,software-development] 
    description: what have i learned today 2 
    location: scottsdale 

這YAML文檔將得到由它收集數據的C#應用​​程序,並在週末每日更新/一個Python程序會計算一些關於博客進度的指標。

This answer至問題Is this valid YAML?表明YAML支持部分文檔的概念,並且如果格式如上,每個博客條目將被視爲一個單獨的實體。現在我關心兩件事情。

  1. YAML解析器是否可以通過entrydate來識別每個實體(或博客條目),因爲它位於每個元素的頂部?我問這個,因爲在這兩個yamllintonline yaml parser,解析輸出被重新排序和entrydate與其他物品混爲一談英寸
  2. 是YAML此任務的完整矯枉過正?我覺得它很容易,因爲存儲的數據將以人類可讀的格式存儲,並且如果需要的話,我可以輕鬆地手動編輯文檔。

PS:我認爲這是JSON,但我覺得YAML在眼睛上太容易了。

回答

3

YAML解析器能夠通過entrydate識別每個實體(或本文中爲博客條目),因爲它位於每個元素的頂部嗎?我問這個,因爲在這兩個yamllint和在線YAML解析器解析輸出被重新排序和entrydate與其他物品混爲一談英寸

我並不完全清楚你問這裏。這是有效的YAML,它會產生一個字典列表。每個字典將有幾個鍵(描述,條目日期,位置,標籤,標題)。一旦你用YAML解析器讀取了數據,你可以引用任何這些鍵;哪一個在輸出中出現「第一」通常是不重要的。通常,字典實現不會保留添加密鑰的順序。

列表的順序將被保留,因此與entrydate = 5:55 AM 1/1/2013入口總是會在列表中的第(只要它是文件中的第一個條目)。

是YAML此任務的完整矯枉過正?我覺得它很容易,因爲存儲的數據將以人類可讀的格式存儲,並且如果需要的話,我可以輕鬆地手動編輯文檔。

您試圖以簡單易讀的格式存儲結構化數據。這是YAML的目的。

+0

雖然我不能在我的第一個問題就把好,你的答案是什麼我想知道。謝謝! – Animesh

+2

+1絕對使用YAML。我知道沒有比這更適合的任務了。 –