【发布时间】:2021-09-21 23:26:39
【问题描述】:
第一次在 Google 表格中使用 importJSON 有点麻烦。我的数据以截断的形式导入,我找不到任何方法来真正按照我想要的方式过滤。
API 来源:https://prices.runescape.wiki/api/v1/osrs/1h
我正在使用以下命令:=IMPORTJSON(B1;B2)
其中 B1 是源链接,B2 引用了我应用的任何过滤器。到目前为止,我还没有过滤器。
我的结果是一个截断的列表,显示如下:
data/2/avgHighPrice 166
data/2/highPriceVolume 798801
data/2/avgLowPrice 162
data/2/lowPriceVolume 561908
data/6/avgHighPrice 182132
data/6/highPriceVolume 7
data/6/avgLowPrice 180261
data/6/lowPriceVolume 37
data/8/avgHighPrice 195209
data/8/highPriceVolume 4
data/8/avgLowPrice 192880
data/8/lowPriceVolume 40
在我见过和使用过的示例中(主要是插件提供的示例),它自然会转变成表格。我什至无法做到这一点,尽管我真的只是想 ping 标记 avgHighPrice 和 avgLowPrice。
编辑:
我正在寻找这样的结果:
| 2 | 6 | 8 | |
|---|---|---|---|
| /avgLowPrice | 162 | 180261 | 192880 |
| /avgHighPrice | 166 | 182132 | 195209 |
EDIT2:
所以我还有一件事希望弄清楚。使用您的脚本,我创建了另一个脚本来提取名称和项目 ID
function naming(url){
//var url='https://prices.runescape.wiki/api/v1/osrs/mapping'
var data = JSON.parse(UrlFetchApp.fetch(url).getContentText())
var result = []
result.push(['#','id','name'])
for (let p in eval('data.data')) {
try{result.push([p,data.item(p).ID,data.item(p).Name])}catch(e){}
}
return result
}
Object.prototype.item=function(i){return this[i]};
我想知道是否可以将项目名称与初始定价脚本中的项目 ID 关联起来。首先,第一个脚本仅列出可交易的物品,而第二个脚本列出游戏中的所有物品 ID。我基本上想将第一个和第二个脚本关联起来以显示
| ID | Name | avgHighPrice | avgLowPrice |
|---|---|---|---|
| 2 | Cannonball | 180261 | 192880 |
| 6 | Cannon Base | 182132 | 195209 |
【问题讨论】:
-
关于
My result is a truncated list that displays as such:,你能在你的问题中显示你的预期结果吗? -
刚刚用我正在寻找的结果更新了我的帖子
-
感谢您的回复。现在我注意到已经发布了答案。我认为它会解决您的问题。
标签: google-sheets google-sheets-formula google-sheets-api