如何使用Power Query将数据从Web动态检索到Excel

时间:2016-03-16 21:15:18

标签: excel powerquery

我之前从未使用过Power Query,所以我不确定我所问的是否可能。我想在excel中找到一种方法,根据另一个单元格中给出的值动态导入网站中的数据,例如google工作表中的importhtml。例如,这是我使用Google工作表创建的内容:

如果你注意到,

  • 第一列是NPI号码,这是我提供的号码(复制并粘贴到Excel中的列)。
  • 第二列是要从中下载数据的url。 url number值引用A列。
  • importHTML然后导入数据并将它们放在URL后面的列中。

那么,是否可以使用Excel Power Query做这样的事情?

虽然我使用常规网址来下拉html表格格式的数据,但如果可能的话,我更喜欢使用JSON。我没有在Google工作表中使用JSON的唯一原因是因为我不知道该怎么做。 NPI查找API的URL为https://npiregistry.cms.hhs.gov/api?number=,我们可以在其中输入要查找的任何NPI号。

1 个答案:

答案 0 :(得分:1)

是的,Power Query的Web.Contents函数有一个URL参数 - 这可以是表达式或文字,也可以是两者的串联。你可以通过使用“From Web”按钮快速启动语法(在Excel 2016+中,这可遗忘地有点隐藏在Data / New Query / From Other Sources下) - 这将生成包含Web的代码.Contents使用文字URL。 Power Query还将查看返回的内容并围绕Web包含适当的函数。例如, Json.Document。

您可以从现有的Google表格文件开始(使用“获取数据/来自网络”也很容易使用),并使用“添加自定义列”粘贴Web.Contents代码。您可以插入列引用以使URL动态化 - 使用&用于字符串连接。