2016-05-20 23 views
1

我使用nokogiri將HTML數據解析爲YAML結構。我無法看到如何使用YAML格式進行人類閱讀的HTML表格。任何有此經驗的人?如果是的話,請點亮一下HTML表格轉YAML

回答

0

我已經做了兩個方向(YAML - > HTML和HTML - > YAML),而YAML到HTML實際上是在我的作者的ruamel.yaml.cmd包中。

HTML是一個表,這是一個給定的,我會認爲它有一個標題。所以,讓我們在下表中以標題行元素數量的ABC和兩個數據行:

A B C 
1 2 3 
5 6 7 

有幾種方法,你可以在YAML表示,這裏有兩個例子。

  1. 頂層是一個映射,報頭值的鍵和列中的序列的值:

    A: [1, 5] 
    B: [2, 6] 
    C: [3, 7] 
    
  2. 頂層是列表,並且每個元素是標頭值的數據的映射值:

    - A: 1 
        B: 2 
        C: 3 
    - A: 5 
        B: 6 
        C: 7 
    

我找到第二個更直觀,但它是作爲標題字符串的更多詳細在每個序列元素中作爲標量重複。

如果您的表具有行「標題」和列標題,則可以選擇頂層映射,其中的關鍵字是行和列標題的序列,並且該值是單元格的內容。
表:

A B 
K 1 2 
L 5 6 

相應YAML:

[A, K]: 1 
[A, L]: 5 
[B, K]: 2 
[B, L]: 6 

請注意,大多數YAML翻斗車你有過在你想要製作的映射按鍵的順序沒有控制,沒有uglifying的YAML與標籤。

確定了輸出格式並解析了表之後,應該相對容易地遍歷表的行/列和單元格以創建按照需要轉儲到YAML的數據結構(即是我爲上面的例子做的,Python和ruamel.yaml