python 列表元素 替换函数_3.14 列表替换函数_List.ReplaceValue_List.RemoveMatchingItems

(1).List.ReplaceValue

这个和Table.ReplaceValue类似的函数,语法是差不多了.掌握了一个,另外一个差不多会了.相对来说,List.ReplaceValue比较简单.可以参考Table.ReplaceValue函数,具体链接:4.15 表替换函数Table.ReplaceValue

函数语法:=List.ReplaceValue(列表,旧文本,新文本,(x,y,z)=>处理)

图解函数:

68846fc2071b6e7857758ef9be2cc1b9.png

本来第四参数有连个函数的,Replacer.ReplaceValue和Replacer.ReplaceText,一个只完全替换,一个是局部替换...如下图所示:

c22e3f585d211e674e2755eeb78be6e3.png

一般用法就是这样的,但是上述两个函数方法也可以用(x,y,z)=>方式来处理.所以推荐直接使用x,y,z方式进行处理数据.

e73b0ffa390d6e8371aef2b6171f8856.png

--------------------------

(2).List.ReplaceMatchingItems

函数语法:=List.ReplaceMatchingItems(列表,{ {旧值1,新值1},{旧值2,新值2}...{旧值N,新值N}  },each 处理)

a.批量替换列表里的数据,如果省略了第三参数,就是按照完全相等的方式来替换的,列表里的数据完全等于某个旧值,结果就被替换为对应的新值.

a2a11b4b24e8eab48fa36af28f59fd53.png

其实省略的情况,也可以用第三参数来处理的,其实是包含在第三参数的范围内.就是不处理,直接写上each _ 就行了.

b.当使用第三参数的时候,其实就是定制一个规则,这个如果列表里的数据和第二参数里的旧值.在第三参数里处理的结果一样的,就开始替换.这个讲的可能不要理解,直接来个图:

6c44257f1dc7cf6d74fc7ec5ab26e03c.png

值得注意的是,通过第三参数处理之后,参数2中的旧值不能返回重复的记过.不然软件无法识别到底返回什么新值.如图所示:

8c231c7a5538d4c0b4dddae1557746cc.png

这个理论是枯燥的,现在来个实例:

题目如图:

9f3f6339823198ed02d6eaddba32717e.png

  1. 先获取成绩字段为列表,然后用List.ReplaceMatchingItems函数来判断.

716b2f9992ca78469609874d5a52114f.png

ii:最后整理合并表格.

58174693b42a5a705604fdbde6395976.png

总结一下: 

List.ReplaceValue一般来说就是替换一个值,比较好理解.

而List.RemoveMatchingItems可以替换多个值,不容易理解,容易出错.

相关文件和代码在群里下载

热爱PQ的可以加入此群,大家可以一起学习一起进步

01d1e55215bc03a721aba3d2fa740e36.png

群名:轻松学会PowerQuery

群号:830974032


版权声明:本文为weixin_34443842原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。