用Excel下载表格
我想下载这张关于Libor费率的表格:
http://online.wsj.com/mdc/public/page/2_3020-libor.html (特定的,其中约USD)
通过使用数据/从网站导入,如果我select一次表,我按导入它不会出现表,但是如果我导入整个页面
有没有办法,使用VBA可能,我可以在哪里获得该表?
作为VBA的替代品,您可以下载并安装名为Power Query的免费Microsoft Excel插件。 安装Power Query后,步骤如下:
- 点击Power Queryfunction区
- 点击“From Web”图标
- 粘贴网站的url
- 在侧栏上,selectTable0并编辑查询
- 您将看到已经应用了一些转换步骤。 添加以下转换:
- 删除顶部行(只有一行)
- 将第一行设置为标题
- 删除底行(27行)
- 单击“closures并加载”将转换的数据写入Excel文件中的表格。
现在只需要在网站有新号码时刷新数据连接。
屏幕截图包含Power Queryfunction区的Excel文件和后台的结果表。 顶部的窗口是Power Query界面。 转换步骤在右侧的面板中列出。
每个转换步骤都以“M”语言logging。 在Power Query中,您可以单击视图>高级编辑器来查看和更改M代码。 这是一个非常强大的语言,其语法与Excel公式或VBA完全不同。 我只是在这里提到它,让你意识到转换可以在function区上单击图标之外进行定制。 生成的代码是:
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"