gpt4 book ai didi

javascript - ImportXML 的 JavaScript 等价物是什么?

转载 作者:行者123 更新时间:2023-12-02 14:28:29 26 4
gpt4 key购买 nike

ImportXML 的 JavaScript 等价物是什么? ?

有一个包含 10,000 行的 Google 电子表格,每行包含一个城市和州。要查找他们的邮政编码,neither the ImportXML formula nor LibreOffice's FilterXML have worked .

最佳答案

好吧,回答您的问题,我既包含一个用于获取您想要的数据的简单应用程序脚本,也包含一个更简单的 importxml 调用,该调用确实可以使用仅返回 1 个或全部数据的选项:

对于 importxml,它说有 50 次调用,但老实说,我以前对所有事情都使用 importxml,你可以加载更多,它们只是在数据返回时加载,所以不是按顺序,但你可以轻松执行超过 50 次

为了简化导入 xml,首先这里修改了 url 字符串的构造:

=SUBSTITUTE("https://tools.usps.com/go/ZipLookupResultsAction!input.action?resultMode=1&city="&E2&"&state="&F2," ","+")

如果您愿意,您仍然可以使用 %20 而不是 +,但我切换它只是因为这是 usps 网站的默认设置,不过我测试了两者并且两者都有效。

这里我使用的是 & 而不是连接 you can you & ,它有效地完成了相同的操作,但更易于阅读。然后,您可以用替代品包装整个内容,以捕获连接数据中的所有空格。

我将在下面添加一个图像,您可以在其中按以下顺序查看输出:

要在一个单元格中以分号分隔的方式拉入列表:

=JOIN(";",IMPORTXML(SUBSTITUTE("https://tools.usps.com/go/ZipLookupResultsAction!input.action?resultMode=1&city="&E2&"&state="&F2," ","+"),"//*[@class='zip']"))

仅获取列出的第一个邮政编码:

=SPLIT(IMPORTXML(SUBSTITUTE("https://tools.usps.com/go/ZipLookupResultsAction!input.action?resultMode=1&city="&E2&"&state="&F2," ","+"),"//*[@class='zip']/text()")," ")

为了能够提取所有相关的邮政编码(作为列表):

=IMPORTXML(SUBSTITUTE("https://tools.usps.com/go/ZipLookupResultsAction!input.action?resultMode=1&city="&E2&"&state="&F2," ","+"),"//*[@class='zip']")

最后,如果您确实想仍将其用作应用程序脚本,这里有一个简单的方法:

  function zipcodes(url) {
var found, html, content = '';
var response = UrlFetchApp.fetch(url);
if (response) {
html = response.getContentText();
if (html) content = html.match(/<span class="zip" style="">(\d+)<\/span><span class="zip/gi)[0].match(/zip" style="">(\d+)<\/span>/i)[1];
}
return content;
}

enter image description here

关于javascript - ImportXML 的 JavaScript 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38039381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com