首页 > 范文大全 > 正文

数据处理非常道(中)

开篇:润墨网以专业的文秘视角,为您筛选了一篇数据处理非常道(中)范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

通过上一期的介绍,我们已经了解了什么是数据处理及其作用,并讲解了数据处理五大方法之一的数据清洗。本期笔者继续介绍数据处理中的数据抽取与数据合并两大方法。

数据抽取

数据抽取是指抽取并保留原数据表中某些字段的部分信息,形成一个新字段。例如,我们的18位身份证号码,前6位为地区编码,第7位至第14位为出生年月日信息,而第17位为性别信息,奇数为男性,偶数为女性,对此我们就可以从用户身份证抽取出地区、出生年月日、性别等数字编码,为用户地区分布、用户年龄结构、性别结构等分析做准备。

数据抽取在Excel中主要有数据分列法与函数法两种方法实现。

1.数据分列法

现有一列用户的身份证号码数据,需要提取出前6位地区编码,以便进行用户地区分布分析,现就采用数据分列法进行提取。具体操作步骤如下:

步骤1:选中要提取的数据区域,本例A列为身份证号码数据,在“数据”选项卡上的“数据工具”组中,单击“分列”按钮。

步骤2:在弹出的“文本分列向导—第1步”对话框中,单击选择“固定宽度”,然后单击“下一步”按钮。

步骤3:在弹出的“文本分列向导—第2步”对话框中,在“数据预览”下方的身份证号码第6位与第7位数字编码之间,单击鼠标,以建立分列线,这时会出现一个向上箭头的分列线,通常情况下可直接单击“完成”按钮,以完成地区编码提取工作。

但是这样会产生两个问题,一个是原来的身份证号码字段数据会丢失,另一个问题就是如果在身份证号码字段后还有其他字段数据,则相邻的一个字段数据会被替换掉,导致相应数据信息丢失。面对这两个问题,通常的解决方案是在数据区域最后一列重新复制备份一列身份证号码字段数据,然后再进行分列操作,这样就可以避免上述问题。当然我们也可以不用复制备份,只需通过进一步设置即可避免上述两个问题。

步骤4:在“文本分列向导—第2步”对话框中,单击“下一步”按钮,得到“文本分列向导—第3步”对话框,先将“目标区域”更改为分列后的数据所要放置的位置,本例为B1单元格,然后选中分列线后的第二列,在上方的“列数据格式”中选择“不导入此列(跳过)”项,最后单击“完成”按钮,即可在指定位置增加一列6位地区编码。

“文本分列向导—第3步”对话框还可以设置分列后的字段数据格式,可以设置为数值型(常规)、字符型(文本)、日期型几种常用数据格式。从另一个角度说,它也可以用于数据格式的转化,这将在下期进行介绍。

2.函数法

函数法主要采用Left、Right、Mid三个函数进行相关数据的抽取。

Left函数是指从一个文本字符串左边第一位开始,从左至右截取指定数目的字符。Right函数是指从一个文本字符串右边第一位开始,从右至左截取指定数目的字符。Mid函数是指从一个文本字符串左起指定位置开始,从左至右截取指定数目的字符。

我们仍以身份证号码数据抽取为例,采用Left函数提取出前6位地区编码,采用Mid函数提取第7~10位的出生年份编码,分别在B2、C2单元格输入公式:

B2 =LEFT(A2,6),即从A2单元格字符串左边第一位开始,从左至右截取6位字符;

C2 =MID(A2,7,4),即从A2单元格字符串左起第7位开始,从左至右截取4位字符;

并向下填充复制B2、C2单元格的公式,即可批量得到各用户的地区编码与出生年份数据。

数据合并

数据合并是指综合不同的原数据表中某几个字段的信息数据,组合成一个新字段数据。它可以是将某几个字段合并为一个新字段即字段合并;也可以是将原数据表中没有的,但其他数据表(维表)中有的字段,通过共有的关键字段进行对应匹配即字段匹配。

1.字段合并

字段合并刚好与数据抽取相反,它是将某几个字段合并为一个新字段,在Excel中主要使用Concatenate函数进行合并。例如,A列是“xx年”,B列是“xx月”,C列是“xx日”,我们可以将这三列数据合并成D列“xx年xx月xx日”,如下图所示。

2.字段匹配

有时候原数据表中没有我们需要的字段,则需要从其他数据表中通过共有的关键字段进行对应匹配获取字段,这就是字段匹配。例如,上文数据抽取部分提到的身份证号码中提取出的地区编码,光提取出编码还不够,因为我们无法得知每个编码的具体意义,需要再根据一张地区编码维表进行匹配得到相应的地区信息,这时数据才有意义。

在Excel中主要使用Vlookup函数的精确匹配功能进行字段匹配,Vlookup函数语法如下:

Vlookup (lookup_value, table_array, col_index_num, [range_lookup])

lookup_value:查找匹配的关键字段,即根据什么进行查找。table_array:查找的范围(维表),即在什么范围进行查找,其中关键字段必须在第一列。col_index_num:需要查找匹配的字段所在维表中的列号(必须从维表第一列起开始数起)。range_lookup:参数为TRUE(1)或被省略,则返回精确匹配值或近似匹配值;参数为FALSE(0),则返回精确匹配值。

我们仍以身份证号码为例,需要根据提取出的地区编码,与地区编码维表进行匹配,得到相应的地区信息,如下图所示,我们只需要在B2单元格中输入公式:“=Vlookup (LEFT(A2,6),D:E,2,0)”,即可匹配得到相应的地区信息,然后向下填充复制B2单元格的公式,即可批量得到各用户的地区信息数据。

本期数据处理技巧就介绍到这里,下期将介绍数据计算与数据转化两方面的数据处理技巧。