异源异构数据清洗方法及其系统的制作方法
【技术领域】
[0001]本发明涉及数据清洗领域,尤其涉及一种异源异构数据清洗方法及其系统。
【背景技术】
[0002]异源异构数据是指数据内容中标题位置不确定、内容项目位置不确定的文件数据。目前市场上的产品对异源异构数据的清洗,都是需要手动建立模板,指定标题位置,这样的操作非常不便;一旦文件标题内容及项目顺序有任何变动,又得重新指定标题位置,建立新模板。
[0003]在申请号为201310388420.7的专利公开文件中,提出一种异构数据源的数据加工处理方法,包括以下步骤:从异构数据源中获取数据;根据预设数据模板对数据进行加载和分类,并根据分类结果将每一类的数据分别存入临时存储单元中;对临时存储单元中存储的数据进行一致化转换以得到满足预设数据结构的数据,并根据预定需求对转换后的数据进行合并和汇总以使处理后的数据满足数据分析需求。该公开文件将来自不同的异构数据源中的数据统一加工处理为满足数据分析需要的数据,但该方法需要预设数据模板和数据结构,若数据模板改变则数据结构也要相应改变,且还要占用临时储存单元的内存。
【发明内容】
[0004]本发明所要解决的技术问题是:提供一种异源异构数据清洗方法及其系统,可以提高异源异构数据清洗的准确性和便捷性。
[0005]为了解决上述技术问题,本发明采用的技术方案为:一种异源异构数据清洗方法,包括
[0006]预设标题行;
[0007]载入标题特征库和文件数据,所述标题特征库存储包括所述预设标题行中的标题与所述文件数据中标题的映射关系;
[0008]遍历所述文件数据的每一行数据,确定标题行;
[0009]遍历所述标题行的每一列数据,确定所述每一列数据的标题;
[0010]依据所述标题特征库,确定所述每一列数据的标题在所述预设标题行中对应的标题;
[0011]将所述每一列数据添加至所述预设标题行中对应的标题下。
[0012]本发明还涉及一种异源异构数据清洗系统,包括
[0013]预设模块,用于预设标题行;
[0014]载入模块,用于载入标题特征库和文件数据,所述标题特征库存储包括所述预设标题行中的标题与所述文件数据中标题的映射关系;
[0015]第一遍历模块,用于遍历所述文件数据的每一行数据,确定标题行;
[0016]第二遍历模块,用于遍历所述标题行的每一列数据,确定所述每一列数据的标题;
[0017]第一确定模块,用于依据所述标题特征库,确定所述每一列数据的标题在所述预设标题行中对应的标题;
[0018]组织模块,用于将所述每一列数据添加至所述预设标题行中对应的标题下。
[0019]本发明的有益效果在于:通过采用标题特征库,自动识别标题,解析文件数据,自动匹配标题列,无需人工介入,节约了成本,提高了数据清洗的准确性和便捷性,并且可适用于多种格式的文件和数据,适应性强,可以通用、全面地解决异源异构数据的清洗问题。
【附图说明】
[0020]图1为本发明一种异源异构数据清洗方法的流程图;
[0021 ]图2为本发明实施例一的方法流程图;
[0022]图3为本发明实施例一的原始文件数据;
[0023]图4为本发明实施例一的清洗后的文件数据;
[0024]图5为本发明一种异源异构数据清洗系统的结构示意图;
[0025]图6为本发明实施例三的系统结构示意图;
[0026]图7为本发明实施例四的预处理模块的结构示意图。
[0027]标号说明:
[0028]1、预设模块;2、载入模块;3、第一遍历模块;4、第二遍历模块;5、第一确定模块;6、组织模块;7、第一判断模块;8、预处理模块;9、第二判断模块;1、第二确定模块;11、第三判断模块;12、第三确定模块;13、更新模块;
[0029]801、第一遍历单元;802、第一判断单元;803、第一保存单元;804、第二保存单元;[°03°] 1001、第一统计单元;1002、第一获取单元;1003、第一确定单元;
[0031 ] 1201、第二统计单元;1202、第二获取单元;1203、第二确定单元;
[0032]1301、接收单元;1302、修改单元。
【具体实施方式】
[0033]为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
[0034]本发明最关键的构思在于:引入标题特征库,通过标题特征库智能匹配标题。
[0035]请参阅图1,一种异源异构数据清洗方法,包括
[0036]预设标题行;
[0037]载入标题特征库和文件数据,所述标题特征库存储包括所述预设标题行中的标题与所述文件数据中标题的映射关系;
[0038]遍历所述文件数据的每一行数据,确定标题行;
[0039]遍历所述标题行的每一列数据,确定所述每一列数据的标题;
[0040]依据所述标题特征库,确定所述每一列数据的标题在所述预设标题行中对应的标题;
[0041 ]将所述每一列数据添加至所述预设标题行中对应的标题下。
[0042]从上述描述可知,本发明的有益效果在于:预设标题行,并通过标题特征库存储预设标题行中的标题列与标题的映射关系,可自动匹配异源异构文件数据中标题及其在预设标题行中对应的标题,有效地保证了数据清洗的准确性和便捷性。
[0043]进一步地,所述“遍历所述标题行的每一列数据”之后,进一步包括:
[0044]若列数据无标题,则统计所述列数据,依据特征概率,获取所述列数据的标题,确定所述列数据的标题在所述预设标题行中对应的标题。
[0045]进一步地,所述“遍历所述文件数据的每一行数据”之后,进一步包括:
[0046]若无标题行,则统计每一列的数据,依据特征概率,获取列数据的标题,确定所述列数据的标题在所述预设标题行中对应的标题。
[0047]由上述描述可知,通过特征概率统计,可对无标题的列数据实现标题匹配,进一步提高了数据清洗的便捷性。
[0048]进一步地,所述“依据所述标题特征库,确定所述每一列数据的标题在所述预设标题行中对应的标题”之后,进一步包括:
[0049]接收对所述映射关系的修改信息;
[0050]根据所述修改信息,对应修改所述映射关系。
[0051]由上述描述可知,通过人为的反馈修改标题特征库的映射关系,进一步提高了数据清洗的准确性。
[0052]进一步地,所述“载入标题特征库和文件数据”之后还包括:
[0053]若文件数据为多标题文件数据,则对多标题文件数据进行预处理,拆分所述多标题文件数据为多个的单标题文件数据。
[0054]进一步地,所述预处理过程具体为:遍历所述多标题文件数据的每一行数据,若为标题行,则保存所述标题行之前的数据至一个文件中,并保存所述标题行至另一个文件中;若不为标题行,则保存所述行数据至前一标题行所在的文件中。
[0055]由上述描述可知,本发明可适用于多种文件数据,具有很强的通用性,可通用、全面地解决异源异构数据的清洗问题。
[0056]本发明还提出一种异源异构数据清洗系统,包括
[0057]预设模块,用于预设标题行;
[0058]载入模块,用于载入标题特征库和文件数据,所述标题特征库存储包括所述预设标题行中的标题与所述文件数据中标题的映射关系;
[0059]第一遍历模块,用于遍历所述文件数据的每一行数据,确定标题行;
[0060]第二遍历模块,用于遍历所述标题行的每一列数据,确定所述每一列数据的标题;[0061 ]第一确定模块,用于依据所述标题特征库,确定所述每一列数据的标题在所述预设标题行中对应的标题;
[0062]组织模块,用于将所述每一列数据添加至所述预设标题行中对应的标题下。
[0063]进一步地,还包括第二确定模块和第三确定模块;
[0064]所述第二确定模块包括
[0065]第一统计单元,用于若所述列数据无标题,则统计所述列数据;
[0066]第一获取单元,用于依据特征概率,获取所述列数据的标题;
[0067]第一确定单元,用于确定所述列数据的标题在所述预设标题行中对应的标题;
[0068]所述第三确定模块包括
[0069]第二统计单元,用于若无标题行,则统计每一列的数据;
[0070]第二获取单元,用于依据特征概率,获取列数据的标题;
[0071]第二确定单元,用于确定所述列数据的标题在所述预设标题行中对应的标题。
[0072]进一步地,还包括更新模块,所述更新模块包括
[0073]接收单元,用于接收对映射关系的修改信息;
[0074]修改单元,用于根据所述修改信息,对应修改所述映射关系。
[0075]进一步地,还包括
[0076]预处理模块,用于若文件数据为多标题文件数据,则对多标题文件数据进行预处理,拆分所述多标题文件数据为多个的单标题文件数据。
[0077]所述预处理模块包括
[0078]第一遍历单元,用于遍历所述多标题文件数据的每一行数据;
[0079]第一保存单元,用于若为标题行,则保存所述标题行之前的数据至一个文件中,并保存所述标题行至另一个文件中;
[0080]第二保存单元,用于若不为标题行,则保存所述行数据至前一标题行所在的文件中。
[0081 ] 实施例一
[0082]请参照图1-2,本发明的实施例一为:一种异源异构数据清洗方法,包括如下步骤:
[0083]S1:预设标题行,所述预设标题行为预先设定的标题字段。
[0084]S2:载入标题特征库和文件数据,所述标题特征库存储包括预设标题行中的标题与文件数据中的标题的映射关系,所述文件数据可以为〖11:、08¥、118、11814(^或111:1111等格式。
[0085]S3:判断所载入的文件数据是否为多标题文件数据,若是则先执行S4再执行S5,若否则直接执行S5。
[0086]S4:对多标题文件数据进行预处理,将所述多标题文件数据拆分为多个的单标题文件数据。
[0087]S5:遍历所述文件数据的每一行数据。
[0088]S6:判断所述文件数据是否有标题行,若无,则执行S7,若有则执行S8。
[0089]S7:统计每一列的数据,依据特征概率,获取列数据的标题,确定所述列数据的标题在所述预设标题行中对应的标题;例如,对于通讯数据,若一列无标题的数据中,有80%的数据为时间格式,则认为该列数据可能为通话时间,若预设标题行中存在“通话时间”这一标题且尚未被匹配,则将该列数据与预设标题行中的“通话时间”匹配;若一列数据中的超过80%的数据为“主叫”、“被叫”、“