前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用Power Query轻松批量抓取A股数据,及列表转换函数(List.Transform)的使用

用Power Query轻松批量抓取A股数据,及列表转换函数(List.Transform)的使用

作者头像
大海Power
发布2021-08-30 16:33:10
1.4K0
发布2021-08-30 16:33:10
举报
文章被收录于专栏:用户8950297的专栏

在前面多个文章里用到List.Transform这个函数,为避免影响这些文章的主体内容,没有专门详细展开讲这个函数的具体内容,本篇补上。

List.Transform函数的基本功能是实现一个列表到另一个列表的转换,即输入一个列表,相应地得到一个经某些规则转换后的列表。

先来看一下List.Transform函数的基本语法:

List.Transform(列表 , 转换函数)

语法本身很简单,但是,其中的两个参数都非常灵活,因为:

1、第一个参数是列表,但是,列表里的内容是可以任意的东西,简单到几个数字,复杂到一个个的表,甚至可以是表中带表等任何东西!

2、转换函数可以简单到只返回一个字符,却又可以复杂到引用各种函数写任何功能强大的函数体!

所以,单纯学会这个函数的简单用法不难,但要做到灵活运用,就需要在日后大量的实际案例中磨练。本文从几个例子,先让大家对这个函数有一个比较全面的认识。

例1、给某个列表中的数字都加上1(简单的对应转换)

= List.Transform({30,40,21,33},each _+1)

结果:{31,41,22,34}

说明:转换函数中的下换线“_”表示输入列表中的每一个(当前计算)元素

例2、生成一个带10个元素的列表,每个元素的内容均为“A”(生成的内容可以和输入列表完全没有关系)

= List.Transform({1..10}, each"A")

结果:{A,A,A,A,A,A,A,A,A,A}

例3、将数字1~26转换为字母“A”~“Z”

= List.Transform(

{1..26},

each Character.FromNumber(64+_)

)

上面3个例子,简单体现了List.Transform函数将一个列表转换成另一个列表的过程,但是,这仅仅是它的基本功能,实际上,List.Transform还给了你一个批量操作的机制,让你可以批量操作各种内容!

例4、批量抓取A股全部页面数据

首先回头看一下《单页A股实时信息抓取》操作时生成的代码:

这个代码里,实际上只需要将页面进行批量输入,就可以得到批量的页面信息,我们先删除其他步骤代码,仅保留最关键的两行代码,然后套上List.Transform函数修改为自定义函数(并将两行代码连成一个完整语句)如下:

这样,当我们在pg_lst参数中输入页码列表时,所有页码会被List.Transform函数批量转换为对应的页面数据,如取第1~3页数据:

结果如下:

得到了批量的数据,后续就可以转换到表,然后进行后续的数据处理了(方法与《单页篇》一致,不再赘述)。

现在,我们在回头看《格式化表单数据按可配置映射表转换汇总》的内容,看是否容易理解?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel到PowerBI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • List.Transform函数的基本功能是实现一个列表到另一个列表的转换,即输入一个列表,相应地得到一个经某些规则转换后的列表。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档