【问题标题】:Extract html table row to google sheet将html表格行提取到谷歌表格
【发布时间】:2021-01-27 03:14:04
【问题描述】:

我正在尝试从表中提取一行

当使用 google sheet importhtml 功能时,我得到了整个表格。

=IMPORTHTML("https://www.marketwatch.com/investing/stock/jwn/options?mod=mw_quote_tab", "table",1)

如何仅提取单词“ Current price as of”上方的行

例如在这种情况下,该行将包含以下数据。 (此数据会随着日期的变化而变化)

报价 1.5 0.53 76 1.36 1.47 142 39 报价 0.88 -1.73 23

我有几个网址要深入了解

例如,如果我输入以下网址,那么行位置将会改变。

https://www.marketwatch.com/investing/stock/ge/options

知道如何提取单词“Current price as of”上方的最后一行

【问题讨论】:

  • ImportHTML() 让您可以将(整个!)HTML 表格或列表读取到您的 Google 表格中。它不适用于比这更细化的东西。如果您想进一步操作或过滤您的 Google 表格......那么您可以使用其中一个 Google 表格 API。请参阅下面的回复。

标签: google-sheets


【解决方案1】:

当我看到来自https://www.marketwatch.com/investing/stock/ge/options 的URL 的HTML 数据时,我认为您期望的值可能可以使用IMPORTXML 和xpath 来检索。所以在这个答案中,我想建议使用IMPORTXML

示例公式:

=IMPORTXML(A1,"//tr[td[1]/@class='acenter inthemoney'][last()]")
  • 在这种情况下,https://www.marketwatch.com/investing/stock/ge/options 的 URL 放在单元格“A1”中。

结果:

注意:

  • 此示例公式可用于https://www.marketwatch.com/investing/stock/ge/options 的当前 URL。因此,当 URL 发生变化,HTML 结构因站点更新而发生变化时,可能无法使用公式。所以请注意这一点。

参考:

【讨论】:

  • 聪明的解决方法。但是 OP 需要学习一些 XPath 语法。当然是好事。就像了解Google Sheets functions 也是一件好事...
  • 您好 Tanaike,该代码有效,感谢您的帮助。通过这种数据的提取,它会让我对 xml 的工作原理有所了解,再次感谢您的时间并解决这个问题。!!
  • @don 欢迎。谢谢你让我知道。我很高兴你的问题得到了解决。如果您的问题得到解决,请按接受按钮。与您有相同问题的其他人也可以将您的问题作为可以解决的问题。我认为您的问题和解决方案将对他们有用。如果找不到按钮,请随时告诉我。 stackoverflow.com/help/accepted-answer
  • 您好 Tanaike,由于某种原因,它工作了一段时间,现在我没有从该站点获得任何数据,出现问题并且发生了一些变化,我想知道您是否可以让我知道似乎发生了什么成为问题。我仍然有我的谷歌表来创建它的链接。谢谢!
  • @don 关于你的评论,我不得不为我糟糕的英语水平道歉。我已经在“注意”部分说过when the URL is changed and the HTML structure is changed by updated of the site, the formula might not be able to be used. So please careful this.。认为您当前的原因是由于此。我对此深表歉意。而且,关于你目前的情况,我无法理解你所期望的价值观。您能否通过包含当前问题的详细信息和目标来更新您的问题?
【解决方案2】:
  • ImportHTML() 只允许您将(整个!)HTML 表格或列表读取到您的 Google 表格中。

  • 如果您想过滤或操作导入的数据,则需要使用其他 Google 表格功能。这些记录在这里:

    Google Sheets function list

  • 或者,您可能希望“导入”输入一个工作表,然后将某些数据选择到另一个单独的工作表中:

    Get data from other sheets in your spreadsheet

  • 以下是一些“过滤”数据的示例:

    FILTER function

【讨论】:

  • 这并不能解决我的问题 :(,我会及时学习这些,看起来很复杂,知道如何简单地解决我提到的问题。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-29
  • 1970-01-01
相关资源
最近更新 更多