YAML用于时间顺序数据

本文关键字:数据 顺序 时间 用于 YAML | 更新日期: 2023-09-27 17:51:19

我正在考虑使用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程序计算有关博客进度的一些指标。

这个问题的答案是这是有效的YAML?建议YAML支持部分文档的概念,如果按照上面的格式格式化,每个博客条目将被视为一个单独的实体。现在我关心两件事。

  1. YAML解析器是否能够通过位于每个元素顶部的entrydate来识别每个实体(在本例中是博客条目)?我之所以这样问,是因为在yamllint和online yaml解析器中,解析后的输出被重新排序,并且entrydate与其他项集中在一起。
  2. 对于这个任务,YAML是完全多余的吗?我觉得这是合适的,因为存储的数据将是人类可读的格式,如果需要的话,我可以轻松地手工编辑文档。

PS:我考虑过JSON,但我觉得YAML太容易看了。

YAML用于时间顺序数据

YAML解析器是否能够通过位于每个元素顶部的entrydate来识别每个实体(在本例中是博客条目)?我之所以问这个问题,是因为在yamllint和online yaml解析器中,解析后的输出被重新排序,entrydate与其他项集中在一起。

我不太清楚你在问什么。这是有效的YAML,它将生成一个字典列表。每个字典都有几个键(描述、条目日期、位置、标签、标题)。一旦你用YAML解析器读取数据,你就可以引用这些键中的任何一个;哪一个在输出中"首先"出现通常并不重要。通常,字典实现不保留键的添加顺序。

列表的顺序将被保留,因此entrydate = 5:55 AM 1/1/2013的条目将始终是列表中的第一个(只要它是文件中的第一个条目)。

对于这个任务来说,YAML是多余的吗?我觉得这是合适的,因为存储的数据将是人类可读的格式,如果需要的话,我可以很容易地手工编辑文档。

您正在尝试以简单,可读的格式存储结构化数据。这就是YAML的作用。