分享

数据清洗与整理,Excel Power Query就是厉害

 xxcc140 2020-01-23

前几天有个朋友问了这样一个问题,是关于数据清洗与转化的。

如下图所示,是原有的数据结构,是非常地不合理与规范的数据结构:

数据清洗与整理,Excel Power Query就是厉害

需要将上面的数据整理成如下图所示的规范的数据:

数据清洗与整理,Excel Power Query就是厉害

对于上面的这个问题,处理的首先的方法考虑Power Qeury或者VBA的方法,那么本节案例中将采用的是Excel中自带的数据清洗功能Power Qeury.

主要思路:先添加一个自定列为当前行,再将record转化成Table,然后两两拆分后进行合并,转化成Record结构后再展开即可。

具体的操作步骤如下:

Step-01:先将原始数据加载至Power Query中,如图所示:

数据清洗与整理,Excel Power Query就是厉害

Step-02:在Excel Power Query编辑器中使用Table.AddColumn添加一个自定义列,引用到当前的行再转换成表,再使用Table.ColumnNames获取数据源中的标题行,然后使用List.FirstN获取前6行即可。

数据清洗与整理,Excel Power Query就是厉害

Step-03:接着面的步骤,将上面的自定义中的每一个table里面的表降标题处理。如下图所示:

数据清洗与整理,Excel Power Query就是厉害

再将每一列转化成一个List,可以使用Table.ToRecord函数如下图所示:

数据清洗与整理,Excel Power Query就是厉害

Step-04:使用List.Split函数将每两个List拆分为一个List,如下图所示:

数据清洗与整理,Excel Power Query就是厉害

使用List.Transfrom函数与List.Combine函数将每个List中的两个List的内容进行合并,如图所示:

数据清洗与整理,Excel Power Query就是厉害

Step-05:最后再次使用List.Transform函数来构造Record结构用于展开。

数据清洗与整理,Excel Power Query就是厉害

Step-06:最后层层展开,删除没用的列即可。如图所示:

数据清洗与整理,Excel Power Query就是厉害

最终的代码如下图所示:

数据清洗与整理,Excel Power Query就是厉害


当然还可以使用Table.Group函数进行清理,具体代码如下图所示:

数据清洗与整理,Excel Power Query就是厉害

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多