【问题标题】:Import single value from a webpage/JSON into Google spreadsheet将网页/JSON 中的单个值导入 Google 电子表格
【发布时间】:2018-06-22 10:57:05
【问题描述】:

有一个网页: https://steexp.com/account/GDDHGJNRGR75ZQOXRD3FVGBTXS23JOIYYZX7ZNED7P4EQSNRR57MA54U

我正在尝试将 XLM 余额值(当前为 4.9999897)导入我的 Google 电子表格。在这个阶段,我尝试使用以下公式,但它返回错误“导入的内容为空”。

=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;
}

如果我需要提取“序列”值,上面的脚本可以很好地处理,但在“平衡”方面没有帮助,因为它返回空白值。这里的问题也是页面包含两个“余额”值,但我需要第二个(后面是“asset_type”:“native”)。

如果您有任何关于如何将上述 XLM 余额值导入 Google 电子表格的建议,我们将不胜感激。

【问题讨论】:

    标签: json google-apps-script import google-sheets


    【解决方案1】:

    请尝试:

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

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

    【讨论】:

      【解决方案2】:

      您可以使用循环来查看返回的每个余额,并且仅在 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"]); }
        }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-30
        相关资源
        最近更新 更多