Google Spreadsheet:来自Google Drive .txt的ImportXML

时间:2018-07-25 19:26:24

标签: xml xpath google-sheets

所以,我对这件事有点菜鸟,但我确实需要进行这项工作以减少日常工作量。

目标:

在Google电子表格中,将在Google云端硬盘文件夹中上传的.txt文件的内容提取到单元格中。

我找到了Google Spreadsheet的附件,该附件提取文件并共享给定Google Drive文件夹中所有文件的链接。它工作正常,应该是使其自动化的第一步。

现在有了URL,我需要使用=ImportXML将链接中的数据绘制到单元格中。 这是一个简单的.txt文件,下面是一个示例:

https://drive.google.com/file/d/1aS-AGcfs6nQYX3Mq6arm8K8BzuimAAES/view 这是检查视图上的元素: drive-viewer-text-page 到目前为止,我尝试过的公式是:

=importxml("https://drive.google.com/file/d/1aS-AGcfs6nQYX3Mq6arm8K8BzuimAAES/view?usp=sharing", "//body[text()='drive-viewer-text-page']/@*")

我还尝试使用//div//pre代替body,以及手动输入整个路径(使用单个“ /”包括10 div)。

到目前为止,我一直在单元格上收到带有“#N / A”的空内容消息。 我还尝试了//body[contains(text(), 'drive')]/@href//body[contains(text(), 'drive')]/@*,但没有得到积极的结果。

欢迎任何帮助,也许我应该从一个简单的任务开始哈哈。

谢谢。

最好的问候, 卢卡斯。

编辑: 我很确定必须从其他URL检索文件的内容,查看器不是文件的直接URL,但是我似乎找不到它。对此的任何帮助也都受到欢迎...而且我也需要将其自动化。

1 个答案:

答案 0 :(得分:2)

该解决方法如何?在这种解决方法中,我使用了文本文件和IMPORTDATA()的直接链接。

在您的情况下,共享URL如下。

https://drive.google.com/file/d/1aS-AGcfs6nQYX3Mq6arm8K8BzuimAAES/view?usp=sharing

将其转换为直接链接后,URL如下。

http://drive.google.com/uc?export=view&id=1aS-AGcfs6nQYX3Mq6arm8K8BzuimAAES

这用于IMPORTDATA()。

我准备了2种模式,因为我不确定结果是否理想。对于这两种模式,上面的URL被放置为“ A1”。

模式1:

=ARRAYFORMULA(SPLIT(IMPORTDATA(A1)," "))
  • 通过IMPORTDATA()检索值。
  • 分割值。
结果:

enter image description here

模式2:

=ARRAYFORMULA(SPLIT(REGEXREPLACE(IMPORTDATA(A1)," {2,}",","),","))
  • 通过IMPORTDATA()检索值。
  • 使用REGEXREPLACE()将大于2的空格替换为,
  • ,分割值。
结果:

enter image description here

注意:

  • 如果您要导入更复杂的值,则Google Apps脚本可能适合这种情况。

参考文献:

如果我误解了你的问题,对不起。