使用 Google 表格的 importXML 时不要扩展结果
Don't expand on results when using Google Sheets' importXML
Google Sheets 有一个很酷的函数叫做 importxml。它可以让您从 public 网络资源中抓取数据,例如URL 的标题。
您可以编写 XPath 表达式,例如//title/text()
并且它会找到所有出现的某个值并将它们显示在 Google Sheet 中作为单独的行。漂亮!
如果 <element></element>
的内容包含 HTML 标记,例如<element>some<b>data</b>is<em>here</em>.
然后 Google Sheets 给你两个选择:
- 如果您在 XPath 的末尾附加 /text() 则结果是元素的直接文本值,例如
some here
- 如果您不在 XPath 的末尾附加 /text() ,那么结果是整个文本拆分到行中的多个单元格中。你最终得到
|some|data|is|here|
。 (其中 | 作为我的细胞分隔器)
我试图在单个单元格中获取 some data is here
,而不是跨行中的多个单元格。有办法吗?
使用 textjoin
或在 importxml
上连接不起作用,因为它随后将其应用于整个结果,如果 <element>some<b>data</b>is<em>here</em>.
有多个实例,那么我将它们全部放入一个单元格而不是每行一个结果(这就是我想要的)。
尝试:
=TEXTJOIN(" "; 1; your_importxml_here)
数组使用:
=FLATTEN(QUERY(TRANSPOSE(your_importxml_here);;9^9))
Google Sheets 有一个很酷的函数叫做 importxml。它可以让您从 public 网络资源中抓取数据,例如URL 的标题。
您可以编写 XPath 表达式,例如//title/text()
并且它会找到所有出现的某个值并将它们显示在 Google Sheet 中作为单独的行。漂亮!
如果 <element></element>
的内容包含 HTML 标记,例如<element>some<b>data</b>is<em>here</em>.
然后 Google Sheets 给你两个选择:
- 如果您在 XPath 的末尾附加 /text() 则结果是元素的直接文本值,例如
some here
- 如果您不在 XPath 的末尾附加 /text() ,那么结果是整个文本拆分到行中的多个单元格中。你最终得到
|some|data|is|here|
。 (其中 | 作为我的细胞分隔器)
我试图在单个单元格中获取 some data is here
,而不是跨行中的多个单元格。有办法吗?
使用 textjoin
或在 importxml
上连接不起作用,因为它随后将其应用于整个结果,如果 <element>some<b>data</b>is<em>here</em>.
有多个实例,那么我将它们全部放入一个单元格而不是每行一个结果(这就是我想要的)。
尝试:
=TEXTJOIN(" "; 1; your_importxml_here)
数组使用:
=FLATTEN(QUERY(TRANSPOSE(your_importxml_here);;9^9))