【问题标题】:Google Spreadsheet: ImportXML from Google Drive .txtGoogle 电子表格:来自 Google Drive .txt 的 ImportXML
【发布时间】:2018-07-25 19:26:24
【问题描述】:

所以,我对这些东西有点菜鸟,但我真的需要让它工作以减少我的日常工作量。

目标:

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

我找到了一个用于 Google 电子表格的插件,它可以提取给定 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 代替正文,以及手动输入整个路径(包括使用单个“/”的 10 个 div)。

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

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

提前致谢。

最好的问候, 卢卡斯。

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

【问题讨论】:

  • 更新: =ImportXML 函数有效,但我经常发现空单元格,因为从我每月需要的链接中加载所有信息需要花费大量时间工作(大约 110-120 个文件)。我现在正在研究脚本,它可能更有效。

标签: xml xpath google-sheets


【解决方案1】:

这个解决方法怎么样?在这个解决方法中,我使用了文本文件的直接链接和 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”。

模式一:

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

模式二:

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

注意:

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

参考资料:

如果我误解了你的问题,我很抱歉。

【讨论】:

  • 抱歉回复晚了。这正是我正在寻找的东西,它就像一个魅力。现在我正在努力对 .pdf 文件做同样的事情,我可以很好地导入它,但它没有带有损坏文本的形状或格式等等......解决方案可能是 regexreplace,但到目前为止还没有运气。我将四处寻找其他 .pdf 导入案例。感谢所有的帮助。
  • @Lucas Tonoli 谢谢你让我知道。我很高兴你的问题得到了解决。关于您的新问题,您能否将其作为新问题发布?届时,请按“接受”按钮接受您的这个问题。这样,与您有相同问题的其他人也可以将您的这个问题作为可以解决的问题。而且当您发布新问题时,其他许多用户都可以看到它。如果您没有找到接受按钮,请随时告诉我。 stackoverflow.com/help/accepted-answer
  • 再次感谢您的支持。我还不太熟悉该网站。回答接受。我将在另一个线程中发布新问题......看来我必须先进入脚本才能解决这个问题。
  • @Lucas Tonoli 感谢您的回复。我也想看看你的新问题并想出解决方案。
猜你喜欢
  • 1970-01-01
  • 2014-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-24
  • 2012-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多