如何使用IMPORTXML导入表中的有限范围而不是整个表?

时间:2019-08-18 16:02:18

标签: xpath google-sheets google-sheets-formula google-sheets-query google-sheets-importxml

我正在使用Google表格通过IMPORTXML函数抓取网站表格。最初的XPath显然仅引用该表中的单个单元格,因此我想知道如何更改语法以仅导入第二列的前100行。

我尝试使用IMPORTHTML,但是语法似乎更加有限。

=importxml(B4,"//*[@id='historical-data']/div/div[2]/table/tbody/tr[1:100]/td[2]")

上面的代码给出以下错误:

  

“无法解析导入的XML内容。”

3 个答案:

答案 0 :(得分:1)

[1:100]语法不起作用。请尝试使用[position()<=100]

=importxml(B4,"//*[@id='historical-data']/div/div[2]/table/tbody/tr[position()<=100]/td[2]")

答案 1 :(得分:1)

尝试一下:

=QUERY(IMPORTXML(B4, "//*[@id='historical-data']/div/div[2]/table/tbody/tr/td[2]"), 
 "limit 100", 0)

答案 2 :(得分:0)

我将IMPORTXML切换为IMPORTHTML,以提供一种非常优雅的解决方案:

=query(importhtml(B4,"table",1),"select Col2 limit 110 offset 1",0)

大声疾呼@ player0,让我90%都在那里。