【问题标题】:Google Sheet importxml create table from xml fileGoogle Sheet importxml 从 xml 文件创建表
【发布时间】:2020-05-27 21:14:37
【问题描述】:

尝试在 google-sheets 中使用 importxml。我的 XML 文件是这样的:

<file>
<file_name>file1</file_name>
<file_id>407897</file_id>
<disk_id>180622</disk_id>
</file>

这个 xml 中有大量文件 ~5k。 我正在尝试在下面的 google-sheet 中创建一个表格:

col 1 | col 2 | col 3
file1 | 001   | 001
file2 | 002   | 002

现在有时文件没有磁盘 ID,所以它会是:

  <files>
    <file>
    <file_name>file1</file_name>
    <file_id>1</file_id>
    <disk_id>1</disk_id>
    </file>
    <file>
    <file_name>file2</file_name>
    <file_id>2</file_id>
    </file>
    <file>
    <file_name>file3</file_name>
    <file_id>3</file_id>
    <disk_id>1</disk_id>
    </file>
<files>

我想创建的表是这样的:

col 1 | col 2 | col 3
file1 | 001   | 001
file2 | 002   | 
file2 | 002   | 001

我尝试使用:

=importxml("url","//file_name | //file_id | //disk_id")

这给了我这样的东西(单列):

file1
001
001
file2
002
file3
003
001

并添加转置它给出了这样的结果:

=transpose(importxml("url","//file_name | //file_id | //disk_id"))

file1 001 001 file2 002 file3 003 001

有没有办法在 google-sheets 中使用 importxml 来获得这个?

【问题讨论】:

  • 分享您的工作表副本
  • 对不起,我没有。真实文件很大,并且有一些私人数据。我正在简化案例以寻求帮助。

标签: xml google-sheets xml-parsing google-sheets-importxml xpath-1.0


【解决方案1】:

您非常接近实现目标。您只需修改IMPORTXML 公式中的XPath 即可读取行而不是属性。根据您的示例 XML,您需要这样的内容:

=IMPORTXML("{XML URL}","/FILES//FILE")

【讨论】:

    猜你喜欢
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多