咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

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


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



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



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


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


具体的操作步骤如下:


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



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



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



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



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



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



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



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



最终的代码如下图所示:




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