首页 > 解决方案 > 将网页/JSON 中的单个值导入 Google 电子表格

问题描述

有一个网页: 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 ://horizo​​n.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 电子表格的任何建议,我们将不胜感激。

标签: jsongoogle-apps-scriptimportgoogle-sheets

解决方案


请试试:

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

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


推荐阅读