excel - Excel 网页查询
问题描述
我使用网络查询工具在电子表格中导入表格。鉴于我想多次查询该站点,我录制了一个宏以将 Web 查询转换为 VBA 格式,然后在循环中使用它来下载我需要的表。
通过这样做,我注意到 excel 网络查询做了一些奇怪的事情(显然对我来说)。从数据源中,它通过硬编码日期对列标题进行转换。如果标题是静态的,这将不是问题,但鉴于他们会更改,如果我保留代码原样,这将是一个问题。
我想知道是否有一种方法可以在 VBA 中概括由 Web 查询完成的数据转换,以便正确导入数据和日期
您可以在下面找到网络查询的代码
"let" & Chr(13) & "" & Chr(10) & " Source =
Web.Page(Web.Contents(""https://fred.stlouisfed.org/release/tables?
rid=53&eid=783269#snid=783270""))," & Chr(13) & "" & Chr(10) &
" Data0 = Source{0}[Data]," & Chr(13) & "" & Chr(10) &
" #""Changed Type"" = Table.TransformColumnTypes(Data0,{{"""", type text},
{""Q3 2020"", type number}, {""Q2 2020"", type number}, {""Q3 2019"", type
number}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "
#""Changed Type"""
解决方案
您可以确定当前列名,并自己创建转换列表。
例如:
colNames = Table.ColumnNames(Data0),
colTypes = {type text, type number, type number, type number},
#"Changed Type" = Table.TransformColumnTypes(Data0,List.Zip({colNames,colTypes}))
推荐阅读
- c# - 如果属性返回类型接口具有嵌套属性返回类型,则 DataContractJsonSerializer 问题
- android - 适用于 Android 的 Jasonette Webcontainer 应用程序忽略多部分表单
- julia - JuliaDB groupby:将总和与常量混合
- angular - 自动将 .ng-invalid 应用于其他元素
- amazon-web-services - 无法为 kinesis 视频流制作制作人
- python - Python 中的实例方法
- vba - 自动更新饼图
- php - Email recipients based on Shipping method Id for Woocommerce new order notification
- c - C程序函数用另一个词替换一个词
- android - “Parcelable 协议需要一个名为 CREATOR 的 Parcelable.Creator 对象”(我确实有 CREATOR) - 在 Kotlin 中