如何在一个单元格中获取 IMPORTXML/IMPORTHTML 结果数据?
How to get IMPORTXML/IMPORTHTML result data in one cell?
使用 Google 表格,像这样从 html table 中抓取:
我想在一个单元格中获取所有行...
像这样:
而且我找不到方法!
预期的结果是在一个唯一的单元格中获取所有 table 数据...
替换列划分,仅用空白 space
并将行转换为简单的文本行。
有什么帮助吗? =(
注意:第一个值并不总是包含“:”字符。 table 中的行数可能会有所不同。
尝试:
=INDEX(SUBSTITUTE(SUBSTITUTE(QUERY(SUBSTITUTE(FLATTEN(QUERY(TRANSPOSE(
your_formula_here
),,9^9)), " ", "×"),,9^9), " ", CHAR(10)&CHAR(10)), "×", " "))
根据之前的答案构建您可以尝试:
=QUERY(TRANSPOSE(ARRAYFORMULA(CONCAT(QUERY(TRANSPOSE(importxml_formula),,9^9),CHAR(10)))),,9^9)
细目解释:
QUERY(TRANSPOSE(importxml_formula),,9^9)
这个returns一个table用原来table中的一行加上列数作为行,结果每一列就是原来table中每一行的数据table.
ARRAYFORMULA(CONCAT(QUERY(TRANSPOSE(importxml_formula),,9^9),CHAR(10))
每一列将附加 CHAR(10)
,对应一个换行符。
TRANSPOSE(ARRAYFORMULA(CONCAT(QUERY(TRANSPOSE(importxml_formula),,9^9),CHAR(10))))
将 table 转置为 1 列,x 行,最后最后一个 QUERY 将列合并为一个单元格。
示例输出:
更新:
您的 IMPORTXML() 已返回单个单元格,并且由于它们可以被双 space 拆分,您可以改用此公式:
=QUERY(ARRAYFORMULA(CONCAT(TRANSPOSE(SPLIT(IMPORTXML(A1,B1)," ",,FALSE)),CHAR(10))),,9^9)
使用 Google 表格,像这样从 html table 中抓取:
我想在一个单元格中获取所有行... 像这样:
而且我找不到方法!
预期的结果是在一个唯一的单元格中获取所有 table 数据... 替换列划分,仅用空白 space 并将行转换为简单的文本行。
有什么帮助吗? =(
注意:第一个值并不总是包含“:”字符。 table 中的行数可能会有所不同。
尝试:
=INDEX(SUBSTITUTE(SUBSTITUTE(QUERY(SUBSTITUTE(FLATTEN(QUERY(TRANSPOSE(
your_formula_here
),,9^9)), " ", "×"),,9^9), " ", CHAR(10)&CHAR(10)), "×", " "))
根据之前的答案构建您可以尝试:
=QUERY(TRANSPOSE(ARRAYFORMULA(CONCAT(QUERY(TRANSPOSE(importxml_formula),,9^9),CHAR(10)))),,9^9)
细目解释:
QUERY(TRANSPOSE(importxml_formula),,9^9)
这个returns一个table用原来table中的一行加上列数作为行,结果每一列就是原来table中每一行的数据table.
ARRAYFORMULA(CONCAT(QUERY(TRANSPOSE(importxml_formula),,9^9),CHAR(10))
每一列将附加 CHAR(10)
,对应一个换行符。
TRANSPOSE(ARRAYFORMULA(CONCAT(QUERY(TRANSPOSE(importxml_formula),,9^9),CHAR(10))))
将 table 转置为 1 列,x 行,最后最后一个 QUERY 将列合并为一个单元格。
示例输出:
更新:
您的 IMPORTXML() 已返回单个单元格,并且由于它们可以被双 space 拆分,您可以改用此公式:
=QUERY(ARRAYFORMULA(CONCAT(TRANSPOSE(SPLIT(IMPORTXML(A1,B1)," ",,FALSE)),CHAR(10))),,9^9)