【发布时间】:2015-01-08 03:14:11
【问题描述】:
我想下载本页中关于 Libor 利率的表格:
http://online.wsj.com/mdc/public/page/2_3020-libor.html(具体来说是美元的那个)
通过使用来自网络的数据/导入,如果我在按导入后选择表格,它不会出现表格,但如果我导入整个页面,则会出现该表格
有没有办法,使用VBA,我可以在哪里获得该表?
【问题讨论】:
标签: excel import web-scraping vba
我想下载本页中关于 Libor 利率的表格:
http://online.wsj.com/mdc/public/page/2_3020-libor.html(具体来说是美元的那个)
通过使用来自网络的数据/导入,如果我在按导入后选择表格,它不会出现表格,但如果我导入整个页面,则会出现该表格
有没有办法,使用VBA,我可以在哪里获得该表?
【问题讨论】:
标签: excel import web-scraping vba
作为 VBA 的替代方案,您可以下载并安装名为 Power Query 的免费 Microsoft Add-In for Excel。安装 Power Query 后,步骤如下:
现在您只需要在网站有新号码时刷新数据连接。
屏幕截图包含带有 Power Query 功能区的 Excel 文件和背景中的结果表。顶部的窗口是 Power Query 界面。转换步骤列在右侧面板中。
每个转换步骤都以一种称为“M”的语言记录。在 Power Query 中,您可以单击查看 > 高级编辑器来查看和更改 M 代码。它是一种非常强大的语言,其语法与 Excel 公式或 VBA 完全不同。我在这里提到它只是为了让您知道,除了单击功能区上的图标之外,还可以自定义转换。生成的代码是:
let
Source = Web.Page(Web.Contents("http://online.wsj.com/mdc/public/page/2_3020-libor.html")),
Data0 = Source{0}[Data],
#"Changed Type" = Table.TransformColumnTypes(Data0,{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}}),
#"Removed Top Rows" = Table.Skip(#"Changed Type",1),
#"First Row as Header" = Table.PromoteHeaders(#"Removed Top Rows"),
#"Removed Bottom Rows" = Table.RemoveLastN(#"First Row as Header",27)
in
#"Removed Bottom Rows"
【讨论】: