我们在处理Excel文件中经常能见到下面的文档结构,通常在前面部分包括一些信息,下面是表格的形式
Excel常见文档结构
year: 2015
quarter: 1
otherGlobalValue: bla bla
headerA headerB headerC
valueA1 valueB1 valueC1
valueA2 valueB2 valueC2
valueA3 valueB3 valueC3
当有很多这样的表格,在数据分析中需要用到表格上部的year, quarter,otherGlobalValue等作为变量的时候,就需要重新改变文档的结构,转换成下面的形式。
希望得到的结构:
headerA headerB headerC year quarter otherGlobalValue
valueA1 valueB1 valueC1 2015 1 bla bla
valueA2 valueB2 valueC2 2015 1 bla bla
valueA3 valueB3 valueC3 2015 1 bla bla
今天我们就使用openrefine来整理数据,达到我们的目标。
1.新建项目
2.筛选出需要转换的行
在text filter中输入:
year|quarter|other
3.新建列
基于删选后的观察值,新建一列命名为col,数据保持不变
4.分隔两列
基于新建列col,以冒号为分隔符,分成两列
操作后:
5.转置
选择col1列,转置-自定义键值列,选col1列做为键,col2列做值
操作后:
6.填充数据
取消text filter,以上三列向下填充
7.删除多余行
选择column1 2列,facet-以空白分面,并删除匹配行
选择第一行,加星号,按星号选择,删除行
8.更改列名称
9.最后数据
结语:
openrefine提供了强大的数据处理功能,在学习过程中,要善于思考如何灵活运用,提高数据整理的能力。