将单个值从网页/JSON导入Google电子表格

e0uiprwp  于 2023-01-18  发布在  Go
关注(0)|答案(2)|浏览(108)

有一个网页:https://steexp.com/account/GDDHGJNRGR75ZQOXRD3FVGBTXS23JOIYYZX7ZNED7P4EQSNRR57MA54U
我试图导入XLM平衡值(目前是4.9999897)到我的谷歌电子表格。在这个阶段,我试图使用以下公式,但它返回错误“导入的内容是空的”。

=IMPORTHTML("https://steexp.com/account/GDDHGJNRGR75ZQOXRD3FVGBTXS23JOIYYZX7ZNED7P4EQSNRR57MA54U", "table", 1)

与此同时,在Chrome的DevTools/Console中运行以下代码,将得到所需的表格索引“1”:

var i = 1; [].forEach.call(document.getElementsByTagName("table"), function(x) { console.log(i++, x); })

我还尝试了IMPORTXML,它在我的其他情况下也能起作用,但没有成功:

=IMPORTXML("https://steexp.com/account/GDDHGJNRGR75ZQOXRD3FVGBTXS23JOIYYZX7ZNED7P4EQSNRR57MA54U", "//span[@class='break']")

或者,有一个JSON页面包含相同的所需信息:https://horizon.stellar.org/accounts/GDDHGJNRGR75ZQOXRD3FVGBTXS23JOIYYZX7ZNED7P4EQSNRR57MA54U
我尝试使用下面的自定义函数从中提取余额值,同样没有结果:

function GetXLMBalance(xlmAddress) {
    var response = UrlFetchApp.fetch('https://horizon.stellar.org/accounts/' + xlmAddress);
    var json = response.getContentText();
    var data = JSON.parse(json);
    return data.balance;
}

上面的脚本可以很好地处理我需要拉取的值,比如“sequence”值,但是当涉及到“balance”时就没有帮助了,因为它返回空值。这里的问题还在于页面包含两个“balance”值,但是我需要第二个值(后面跟着“asset_type”:“本地”)。
如果您对如何将所提到的XLM余额值导入Google电子表格有任何建议,我们将不胜感激。

1aaf6o9v

1aaf6o9v1#

请尝试:

=--regexextract(index(IMPORTdata("https://horizon.stellar.org/accounts/GDDHGJNRGR75ZQOXRD3FVGBTXS23JOIYYZX7ZNED7P4EQSNRR57MA54U"),58,1),"\d*\.\d*")

提取相关的JSON字段,然后提取所需的部分并将其转换为Number。

hfyxw5xn

hfyxw5xn2#

可以使用循环来查看返回的每个余额,并且仅在asset_type等于native时才采取行动。

function GetXLMBalance(xlmAddress) {
  var response = UrlFetchApp.fetch('https://horizon.stellar.org/accounts/GDDHGJNRGR75ZQOXRD3FVGBTXS23JOIYYZX7ZNED7P4EQSNRR57MA54U');
  var json = response.getContentText();
  var data = JSON.parse(json);
  for (var i = 0; i < data.balances.length; i++) {
    if (data.balances[i]["asset_type"] == "native") { Logger.log(data.balances[i]["balance"]); }
  }
}

相关问题