首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问Jekyll中CSV文件中的特定数据

访问Jekyll中CSV文件中的特定数据
EN

Stack Overflow用户
提问于 2022-01-20 13:48:05
回答 1查看 167关注 0票数 1

我希望访问/查询Jekyll ( wish )中CSV文件中的特定数据。我的CSV文件名为planets.csv,如下所示:

代码语言:javascript
复制
name, Mercuy, Venus, Earth, Mars
satellites, 0, 0, 1, 2
diameter, 0.38, 0.95, 1.00, 0.53

假设我想得到水星的平均直径。我正在尝试这个例子:

代码语言:javascript
复制
{{ site.data.planets.diameter[1] }}
{{ site.data.planets.diameter['Mercury'] }}

由于我的数据就像一个表,我不知道如何处理它。我甚至尝试按行星将数据行星分割成YML文件(即Mercury.yml):

代码语言:javascript
复制
---
- name: Mercury
  satellites: 0
  diameter: 0.38

所以这个语法应该能用..。

代码语言:javascript
复制
{{ site.data.Mercury.diameter }}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-20 16:01:51

代码语言:javascript
复制
{{ site.data.planets.Mercury.diameter }}

会写一本字典:

代码语言:javascript
复制
Mercury:
  satellites: 0
  diameter: 0.38

这可能是根据需要查询数据的最佳方法。

所以,你会得到YAML:

代码语言:javascript
复制
Mercuy:
  satellites: 0
  diameter: 0.38
Venus:
  satellites: 0
  diameter: 0.95
Earth:
  satellites: 1
  diameter: 1.00
Mars:
  satellites: 2
  diameter: 0.53

如果你想把它保存在CSV里,你可以做的是:

代码语言:javascript
复制
name, satellites, diameter
Mercury, 0, 0.38 
Venus, 0, 0.95 
Earth, 1, 1.00 
Mars, 2, 0.53

然后,使用where过滤器:

代码语言:javascript
复制
{{ (site.data.planets | where:"name","Mercury")["diameter"] }}

现在,为了完整起见,如果您想访问以下的Mercury数据:

代码语言:javascript
复制
- name: Mercury
  satellites: 0
  diameter: 0.38

您需要通过以下方式访问它:

代码语言:javascript
复制
{{ site.data.planets[0].diameter }}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70787376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档