我正在使用nokogiri将HTML数据解析为YAML结构。我无法看到如何使用YAML格式的HTML表格进行人工阅读。有过这方面经验的人吗?如果是的话,请稍微阐明一下
答案 0 :(得分:0)
我已经完成了两个方向(YAML - > HTML和HTML - > YAML),而YAML到HTML实际上是我作为作者的ruamel.yaml.cmd
包。
HTML是一个表,这是一个给定的,我会假设它有一个标题。因此,让我们在下表中使用包含元素A
,B
和C
的标题行以及两个数字数据行:
A B C
1 2 3
5 6 7
有几种方法可以在YAML中表示这一点,这里有两个例子。
顶级是一个映射,标题值是键,列是序列中的值:
A: [1, 5]
B: [2, 6]
C: [3, 7]
顶级是列表,每个元素是标头值到数据值的映射:
- 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转储程序,您无法控制要生成的映射中的键的顺序,而无需使用标记来标记YAML。
一旦确定了输出格式并解析了表格,就可以相对容易地遍历表格的行/列和单元格,以创建以您希望的方式转储到YAML的数据结构(即我用上面的例子做了什么,用Python和ruamel.yaml
)