我们付出一些成本,时间的或者其他,最终总能收获一些什么。
课后习题:编号漏编检查
主要学习的视频来源还是b站基础培训营-作业解析视频和数据处理和分析
对数据编码顺序进行编号时漏编码情况检查报错。检查图层中编码的相应顺序编码是否按照顺序编号
昨晚大致看了下视频,今天自己弄了个流程,自己写最后存在一个问题,就是补齐数据时,001,010,100这样的数据占位的问题,001会变为1,010会变为10,造成字符连接前存在位数差问题。由于初学,还没有想到什么方法解决,先记录下自己独立弄流程的思路,再对比视频和文档进行思路的拓展。
目前涉及的转换器
AttributeSplitter、AttributeCreator、Sorter、Cloner
首先,是根据CODE字段使用AttributeSplitter将其进行分割,使用的字符串分割(前面的视频课有教),我分的比较碎,【看视频,视频是按照15s4s4s分的】然后用AttributeCreator创建字段获取需要的_list{}
接下来使用Sorter转换器进行排序,需要注意排序字段的先后顺序
再通过AttributeCreator获得上一个要素的值,通过做差再减1得到缺失的数量,提前需要判断一下,具体规则就不详细写了
通过获取到的需要补充的个数,使用Cloner转换器,对数据进行克隆操作【这个操作存在问题,排查出问题的原因为,对0106这条记录,我是认为要在前面补105个的,但官方视频这条记录是不认为漏掉的,只处理标识码相同中间存在漏号的情况,若标识码不相同,不进行处理】
最后打算连接的时候,出现占位的问题不知道该如何解决,就没有进行最后的连接操作
以上是我自己操作时出现的问题。
下面重新看下视频,学习一下其它的解决思路。
看了下视频大致思路是一致的,除此之外,我自己在克隆的时候是对copynum为0的也进行了克隆,在这个过程中,有造成克隆多了的情况,也没有考虑数据是否有重复的情况。其中,我不会的占位的问题是使用@Format(%03s,xx)函数进行处理的。最近,又看了其它的技术博文,占位的问题除了用格式函数外还可使用StringFormatter
还有就是AttributeSplitter也可以进行属性的创建,可以减少使用AttributeCreator
对于文章的方法由于涉及到正则表达式和python,需要后续跟进学习,今日的学习任务就先这样吧。