今天有小伙伴提供了一个抓取网站结果实现小写金额转换成会计书写金额的方式。
我们来看下最终能够实现的效果图,同时我们来进行一步步的分析。
具体的公式大家可以看下。
调用了https://daxie.911cha.com/这个网站的转换
我们通过输入数字后得到的网站实际结果的地址格式是这样的。
也就是说,在主网站地址后面是我们需要查询的数字作为参数。
让我们一步一步来分析得到这个最终的结果。
通过Web.Contents()函数获取网站内容,其中X代表我们需要实际需要转换的数字。
Web.Contents("https://daxie.911cha.com/"&Number.ToText(X,"0.00")&".html")
转换后的结果会产生一个网站的web网页文件。
通过Lines.FromBinary()函数把网页格式的将二进制值转换成在换行符处拆分的文本值列表,产生如下效果。
通过Xml.Tables(把网站解析成二进制文件{8})函数选择我们需要的数据返回 XML 文档的内容作为平展表的嵌套集合。因为是在第9行数据,而Power Query里面的行号是从0开始的,所以我们在函数参数选择上选择第8行,也就是用{8}。
通过分隔符","进行拆分列的方式,得到我们需要的列。
通过删除其他列得到最终我们想要的数据结果。
最后我们通过let...in...把整个流程通过函数进行定义。其中把转换的值改成变量即可。
之后我们就可以在Power Query里面直接调用这个函数。
当然,这个只是让我们了解下Power Query对于网抓的一些技巧,真正需要实现这个功能,我们可以用一些Excel的插件,应该可以能快的实现。