搞数据分析的经常要数据的获取头疼,尤其是我们Excel用户,不过现在使用PQ来处理是非常简单的,今天我们就通过收集全国历史天气数据来讲解一下!我们要获取数据的网址:http://www.tianqihoubao.com/lishi/我们拿江苏-无锡的数据举例:我们想全部获取到表格中找到对应日期天气的数据,点击数据-自网站,粘贴网址,确定http://www.tianqihoubao.com/lishi/wuxi/month/201101.html稍微摸索一下,我们会发现网址中的 wuxi 是城市的拼音,201101对应数据的年月,那我们就可以把以上过程定义成函数,这两个操作参数进行调用,就可以获取到全部的天气数据了!参数我们已经分析过了,我们只要把自动生成的过程中的对应的参数修改成变量,按照PQ语法自定义函数即可!
let
getData =(cs,rq)=>Table.PromoteHeaders(
Web.Page(
Web.Contents(
"http://www.tianqihoubao.com/lishi/" &
cs & "/month/"& Text.From(rq) &".html"
)
){0}[Data]
)
in
getData
= Table.Combine(List.Transform({201101..201112},each getdata("wuxi", _)))使用TransformMany配合就可以实现 2011-2019 这九年每个月的每天的天气数据,其他城市同理,就不再一一演示
= Table.Combine(List.Transform(List.TransformMany({2011..2019},(a)=>{1..12},(x,y)=>Text.From(x)&Number.ToText(y,"00",null)),each getdata("wuxi", _)))
可能部分同学还对PQ不太熟悉,如果觉得强大,可以学起来,另外本次案例直接下载查看!链接: https://pan.baidu.com/s/12jMBl4PDpEMdE2cmXFv1hA 提取码: 4uex