【问题标题】:IMPORTJSON to google sheets with an underscore (_) in the column's nameIMPORTJSON 到谷歌表,列名中带有下划线 (_)
【发布时间】:2021-12-15 22:53:25
【问题描述】:

我正在尝试使用 IMPORTJSON 从以下位置导入一些数据:

https://templeosrs.com/api/player_stats.php?player=Mikael&date=1639587712

到我的谷歌电子表格。对于某些列,例如“Ehp”,我可以使用

=VALUE(QUERY(TRANSPOSE(IMPORTJSON(C5)), "select Col2 where Col1 = 'Ehp'"))

其中 C5 只是一个包含上述链接的单元格。但这似乎不适用于任何包含下划线的列,例如“Ehp_rank”。

我应该说我对其中的任何工作原理一无所知,我通过查看我找到的示例来做所有事情,然后只是反复试验。有人可以帮我导入带下划线的列吗?

另外,我想导入“用户名”,但它在该信息块内,我似乎无法正确输入。我试过“info.Username”,将 Col2/1 更改为 Col3/2,但没有成功。

【问题讨论】:

  • 您能否提供您期望作为图像的示例输出情况?
  • “输出情况”是什么意思?从该表中,“Ehp_rank”的值为 90,如果我在上面的公式中将“Ehp”更改为“Ehp_rank”,这就是我期望得到的值,但我得到的是 #N/A。
  • 感谢您的回复。我为我糟糕的英语水平深表歉意。在您的问题中,您只想从Ehp_rank 检索90 的值。我的理解正确吗?
  • 是的,没错。不用道歉,英语也不是我的母语:)
  • 感谢您的回复。从你的回复中,我提出了一个答案。你能确认一下吗?如果这不是您期望的方向,我深表歉意。

标签: google-sheets google-sheets-formula google-sheets-api


【解决方案1】:

这样的话,直接准备如下脚本怎么样?

示例脚本:

请将以下脚本复制并粘贴到脚本编辑器中。并且,请输入=SAMPLE("https://templeosrs.com/api/player_stats.php?player=Mikael&date=1639587712") 的自定义公式。这样,在这种情况下,90 被返回。

function SAMPLE(url) {
  const res = UrlFetchApp.fetch(url).getContentText();
  const obj = JSON.parse(res);
  return obj.data && obj.data.Ehp_rank ? obj.data.Ehp_rank : "";
}

参考:

【讨论】:

  • 抱歉耽搁了,它仍然说正在加载,但这可能是因为我的电子表格获取了太多数据。我在一个全新的电子表格上测试了你的功能,它运行良好。这正是我想要的,谢谢!
  • @John 感谢您的回复和测试。我很高兴你的问题得到了解决。也谢谢你。
猜你喜欢
  • 2013-01-05
  • 1970-01-01
  • 2011-07-11
  • 2012-12-14
  • 2020-06-18
  • 2014-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多