CN110457302A - 一种结构化数据智能清洗方法 - Google Patents
一种结构化数据智能清洗方法 Download PDFInfo
- Publication number
- CN110457302A CN110457302A CN201910699857.XA CN201910699857A CN110457302A CN 110457302 A CN110457302 A CN 110457302A CN 201910699857 A CN201910699857 A CN 201910699857A CN 110457302 A CN110457302 A CN 110457302A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- cleaned
- template
- files
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种结构化数据智能清洗方法,应用于数据处理技术领域,包括以下步骤:基于本地文件读写接口获取待清洗的数据文件并建立文件列表;将所有待清洗的数据文件合并为一个待清洗文件;使用哈希表识别待清洗文件所包含的数据类型和文件格式,并标记可识别文件数据所属的模板类型;根据已标记的模板类型加载文件列表,对文件数据依次进行表头识别、数据校验、格式筛选、查重的数据清洗处理;将已清洗数据使用SQL查询器逐条录入数据库。本发明能够有效减少在多文件数据清洗过程中的手工二次录入工作量,并且显著提升数据清洗效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种结构化数据智能清洗方法。
背景技术
目前,由于公安机关、检察机关、纪委等查案部门对于账单、话单、行踪、税票等数据具有海量的查询需求。一般来说,这些数据是直接通过机关系统内部的数据库接口调取,生成供人查阅的数据文件。由于数据的来源具有不可控性,即数据源在技术架构、版本和运行环境上可能具有巨大差异,从而使最终生成的电子数据文件格式不相同。而不同格式的文件需要借助各类文件编辑器或转换器进行数据清洗后方能获取。在数据清洗过程中,时常会因文件格式转制出现包括无内容单元格错位、数据丢失遗漏、乱码等现象。例如,在使用福熙阅读器和Adobe Reader拷贝PDF格式表格内容时,会因空白单元格导致行错位,又如,在使用Excel和WPS导入TXT格式数据时无法识别多字符分隔符,又如,在使用Excel并启用VBA宏导入“.et”后缀或“.docx”后缀文件时,若数据超过65535行就会出现报错并崩溃。上述这些情况,使部门不得不增加后续的手工二次录入,给办案人员的信息整理及后续信息研判造成了很大困扰。
发明内容
本发明针对现有技术中因文件格式过多导致文件转制出错的问题提出一种结构化数据智能清洗方法,能够有效提升数据转制时的正确率和执行效率。
本发明为了实现上述目的具体采用以下技术方案:
本发明公开一种结构化数据智能清洗方法,包括以下步骤:
步骤1、基于本地文件读写接口获取待清洗的数据文件并建立文件列表;
步骤2、将所有待清洗的数据文件合并为一个待清洗文件;
步骤3、使用哈希表识别待清洗文件所包含的数据类型和文件格式,并标记可识别文件数据所属的模板类型;
步骤4、根据已标记的模板类型加载文件列表,对文件数据依次进行表头识别、数据校验、格式筛选、查重的数据清洗处理;
步骤5、将已清洗数据使用SQL查询器逐条录入数据库。
进一步地,步骤1具体包括:
基于本地文件读写接口获取所有导入文件,检验导入文件的访问情况;
若导入文件可以访问,则标记为待清洗的数据文件,并分配特定的存储空间;若导入文件访问出错,则标记为错误的文件并输出提示窗口信息;
以二进制形式将待清洗的数据文件按目录树顺序建立文件列表。
进一步地,步骤2中的合并过程,具体包括:
在待清洗的数据文件中选取主数据文件,并将除主数据文件以外的其他数据文件填充至主数据文件对应列,得到一个待清洗文件。
进一步地,步骤3具体包括:
使用NLP技术识别待清洗文件的表格表头项和前五个非空行数据的数据类型及长度;
将识别内容与待清洗文件的文件头合并后使用MD5算法计算哈希值,通过与已存储模板的哈希值比对,标记可识别文件数据所属的模板类型。
进一步地,步骤3还包括:
针对无模板匹配的文件数据进行数据分割,获取必填项信息;
针对除必填项信息以外的其他信息基于其数据属性在本地数据库中进行比对查找,生成非必填项信息;
基于必填项信息和非必填项信息确认无模板匹配的文件数据所属的模板类型。
进一步地,数据分割方法采用token分割法。
进一步地,识别内容采用JSON格式存储。
进一步地,步骤4中查重的过程采用哈希表查重法。
进一步地,步骤5还包括:
对录入数据库的文件数量进行计数;
在录入完成后在显示界面上输出计数值,并在下次获取待清洗的数据文件之前初始化内存和计数值。
采用上述方案后,本发明的有益效果如下:
1、本发明方法与使用各类文本编辑器或转换器进行转换的方案相比,通过统一的本地文件读取接口对多种类的文件数据进行录入,避免了数据分类过程中的遗漏,实现了数据格式的一键录入和数据库保存,有利于信息的自动化处理。
2、本发明方法采用文件头与表头识别JSON数据并计算哈希的方式,能够加速文件模板比对速率,与不使用哈希表的方法相比在速度上提升至原有方法的6到20倍。
3、本发明中使用自然语言处理技术(Natural Language Processing,NLP)处理格式表头数据,能有效提高自动清洗的正确率,大大降低需要人工干预的清洗任务量。
4、本发明主要使用SQL数据库进行录入操作,与使用Access数据库的方案相比,在可承载数据量方面高出了十倍到一百倍左右,并支持完整的SQL语句查询。
5、本发明方案使单文件的可承载数据量与数据维护性具有根本性的提升,同时给各类数据分析软件提供了可用的开放数据库接口(Open Database Connectivity,ODBC)和Java数据库接口(Java DataBase Connectivity,JDBC),方便数据的后续操作与调用。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例1提供的一种结构化数据智能清洗方法流程示意图;
图2为本发明实施例2提供的一种结构化数据智能清洗系统模块结构示意图;
图3为本发明实施例3提供的一种结构化数据智能清洗设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面结合附图和实施例对本发明实施例作详细说明。
实施例1
参照图1所示,本发明实施例提供一种结构化数据智能清洗方法,包括以下步骤:
S101、基于本地文件读写接口获取待清洗的数据文件并建立文件列表;
S102、将所有待清洗的数据文件合并为一个待清洗文件;
S103、使用哈希表识别待清洗文件所包含的数据类型和文件格式,并标记可识别文件数据所属的模板类型;
S104、根据已标记的模板类型加载文件列表,对文件数据依次进行表头识别、数据校验、格式筛选、查重的数据清洗处理;
S105、将已清洗数据使用SQL查询器逐条录入数据库。
以下对上述方法中的步骤进行详细的阐述和说明。
可以理解地,本发明方案是基于用户的操作终端实现的。本发明实施例中的用户终端可以是任意具有联网功能和数据收发功能的硬件设备,包括:手机、笔记本电脑、平板电脑、PC等,此处不再赘述。
进一步地,S101中是基于用户终端系统的本地文件读写接口获取所有导入文件,而非采用各类文件编辑器或转换器,通过统一的本地文件读取接口对多种类的文件数据进行录入,可以避免数据分类过程中的遗漏,实现了数据格式的一键录入和数据库保存,有利于信息的自动化处理。
进一步地,在获取导入文件后,检验导入文件的访问情况,若导入文件可以访问,则标记为待清洗的数据文件,并分配特定的存储空间;若导入文件访问出错,则标记为错误的文件并输出提示窗口信息。在检验完成后,以二进制形式将待清洗的数据文件按目录树顺序建立文件列表,这样方便后续基于文件列表对文件进行调用,也可以防止清洗过程中内存出错或逻辑出错等情况的发生。
进一步地,S102中的合并过程,具体包括:
在待清洗的数据文件中选取主数据文件,并将除主数据文件以外的其他数据文件填充至主数据文件对应列,得到一个待清洗文件。
可以理解地,以SQL数据库为例,其存储的文件分为三种:主数据文件、辅助数据文件和事务日志文件。其中,每个数据库必须有且只有一个主数据文件,主要用来存储数据库的数据和数据库的启动信息;一个数据库可以有多个辅助数据文件,用来存储数据库的数据,也可以扩展存储空间;事务日志文件主要用于存储数据库的增删改操作。由此可见,主数据文件包含了文件的主要数据内容和文件头等数据操作的信息,基于主数据文件将多个录入文件合成待清洗文件能够在不同格式数据文件中获取主要数据信息,避免其他非操作数据格式对主数据操作过程中的干扰。
进一步地,步骤S103中是使用NLP技术识别待清洗文件的表格表头项和前五个非空行数据的数据类型及长度;将识别内容与待清洗文件的文件头合并后使用MD5算法计算哈希值,通过与已有的模板哈希表比对,标记可识别文件数据所属的模板类型。
可以理解地,自然语言处理技术NLP属于计算机科学、人工智能和语言学的交叉领域,其目的是让计算机处理或“理解”自然语言,以执行诸如语言翻译和问题回答等任务。应用NLP技术的程序可以基于大数据训练的深度学习实现诸如拼写检查、关键字搜索、查找同义词、在一段字节数据中提取具体参数信息、对长文档分类、机器翻译、复杂问答等方向的功能,特别适合本发明中对待清洗文件的表格表头项和非空行数据的识别过程。由于不同的文件格式往往对应不同的表格表头,因此通过这一识别过程,可以获取待清洗文件中的主要文件格式类型和长度信息,并且使用该方法能有效提高自动清洗的正确率,大大降低需要人工干预的清洗任务量。
具体地,本发明方案中的NLP可以基于Python编程的NLTK库实现,此处不再赘述。
可以理解地,哈希表也叫散列表,是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组即是散列表。该方法的优势在于对一个数据序列的访问过程更加迅速有效,通过散列函数,数据元素将被更快地定位。
具体地,在哈希表中进行查找的方法包括:直接寻址法、数字分析法、平方取中法、折叠法、随机数法、除留余数法等,此处不再赘述。
可选地,此处选择提取前五个非空行数据的数据类型及长度,也可以选择提取其他数量的非空行数据的数据类型及长度,但是为了在减少数据检索量的同时保证提取精度,该数量不应大于10。
此处将被识别的文件数据与文件头合并,即获取了如“文件数据-文件表头-头文件”的对应关系。
进一步地,此处对识别的数据采用JavaScript对象简谱(JavaScript ObjectNotation,JSON)格式进行编译,该格式是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,能够大大提升后续处理的速度和稳定性。
可以理解地,使用MD5计算哈希值具有以下优点:
(1)压缩性:任意长度的数据,算出的MD5值长度都是固定的。
(2)容易计算:从原数据计算出MD5值很容易。
(3)抗修改:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
(4)强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
具体来说,MD5算法如同一个函数,适合将文件数据的二进制串作为自变量进行处理,并输出一个唯一的128位二进制字符串以指示对该文件对应的模板类型,该处理过程占内存较小、并且不可逆,无法被篡改,因此兼具有良好的安全性和稳定性。
可选地,除了DM5,也可以采用MD4或SHA1等其他编译方法实现哈希表匹配,此处不再赘述。
进一步地,针对无法与哈希表匹配的数据,S103中还包括以下处理过程:
针对无模板匹配的文件数据进行数据分割,获取必填项信息;针对除必填项信息以外的其他信息基于其数据属性在本地数据库中进行比对查找,生成非必填项信息;基于必填项信息和非必填项信息确认无模板匹配的文件数据所属的模板类型。
可以理解地,此处的数据分割方法采用token分割法。该方法是一种字符串分割方法,主要是基于C语言类数据库中的token函数分割数据的source字符串,并将结果通过cout函数输出;其他常用的字符串分割法还有string分割法等,此处不再赘述。
具体地,本发明方法中是通过token分割法区分数据中的必填项信息和非必填项信息,对于必填项信息可以基于数据参数确认其模板类型,而对于非必填项信息则需要通过调用本地数据库的已存储特征数据进行比对查找;例如,非必填项信息“归属地”可以通过提取已知数据中的“手机号”或“银行卡开户行”进行确认。最后,基于必填项信息和非必填项信息确认数据的模板类型。
可以理解地,由于待清洗文件是由多个整合为了一个文件进行处理,并且不同的文件表格类型基于文件列表和目录顺序进行了分类和合并,通过S101-S103的步骤,对主要(多数)数据通过哈希表比对的方式获得其表格模板属性,对于少数数据通过必填项信息和非必填项信息的解析比对过程确认其表格模板属性,最终就获取了所有待清洗数据的表头表格模板。文件头与表头识别JSON数据并计算哈希值的方式,能够加速文件模板比对速率,与不使用哈希表的方法相比在速度上提升至原有方法的6到20倍。
可以理解地,一般的清洗处理过程包括检查数据一致性,处理无效值和缺失值等,目的是检测出残缺数据、错误数据和重复数据。
具体地,检测残缺数据的方法主要通过手工填入(手工清理),部分缺失值可以经过推导后,采用平均值、最大值、最小值或更为复杂的概率估计更新覆盖缺失值,从而实现清理。
而检测错误数据的方法主要用统计分析的方法识别可能的错误值或异常值,如偏差分析、识别不遵守分布或回归方程的值,也可以用简单规则库(常识性规则、业务特定规则等)检查数据值,或使用不同属性间的约束、外部的数据来检测和清理数据。
数据一致性主要通过各种数据迁移工具和审计工具,通过扫描数据发现数据属性相关的规律和联系,并通过简单的转换规则对数据属性的一致性进行识别。
重复数据的检测主要通过数据的属性值检测,通过判断记录间的属性值是否相等来检测记录是否相等,并相等的记录合并为一条记录(即合并/清除)
具体地,本发明采用哈希表查重的方式来进行重复数据的检测和校验,此处采用哈希表的优势前述内容中已详细介绍,此处不再赘述。
可以理解地,基于步骤S105还可以实现对录入数据库的文件数量进行计数,在录入完成后在显示界面上输出计数值,并在下次获取待清洗的数据文件之前初始化内存和计数值,从而方便使用者直观了解清洗结果,此处由于每次都是针对待清洗数据数量分配的动态内存,并在结束后释放,因此不会造成内存资源的浪费。本发明主要使用SQL数据库进行录入操作,与使用Access数据库的方案相比,在可承载数据量方面高出了十倍到一百倍左右,并支持完整的SQL语句查询。
由此可见,本发明方法使单文件的可承载数据量与数据维护性具有根本性的提升,同时其编码方式和算法都可以基于Python等语言进行编译,给各类数据分析软件提供了可用的开放数据库接口(Open Database Connectivity,ODBC)和Java数据库接口(JavaDataBase Connectivity,JDBC),方便数据的后续操作与调用。
实施例2
基于前述实施例方案,参照图2所示,本发明实施例2还提供一种结构化数据智能清洗系统,其主要组成模块包括文件读写接口、多文件合并模块、筛选校验模块、去重模块和数据库。
其中,用户可以通过本地的文件读写接口导入待清洗的单文件或者多个文件;若是单文件,则直接将单一文件发送至筛选校验模块进行清洗;若是多个文件,则先将多个文件通过多文件合并模块合并为一个待清洗文件,再发送至筛选校验模块进行清洗。在这一过程中,筛选校验模块可以针对文件数据获取任务参数,并获取多文件中的主数据文件,将其他同类型的文件作为待补充数列对主数据文件进行填充。
可以理解地,在这一过程中,用户可以通过操作自行导入数据文件,系统界面会在弹出的导入窗口引导用户选择并生成待导入文件或文件夹的路径。系统在对用户指定磁盘路径下的目录树进行访问的同时,也会在内存中开辟对应的存储空间,以二进制形式将可访问文件按照目录树下的结构读取到对应的存储空间内,若在读取时遇到错误数据则进行记录并在交互界面上产生弹出窗口提醒用户,加载完成后在内存中生成并维护已加载文件列表。
可以理解地,此处对于多文件的读取和合并过程,是对多文件系统的多个文本文件或数据文件在内存中依次读取,选取主数据文件,使用其他文件填充主数据文件对应列,填充完成后修改已加载文件列表内对应内容。
进一步地,筛选校验模块针对接收到的待清洗文件进行识别筛选,主要使用哈希表识别待清洗文件所包含的数据类型和文件格式,并标记可识别文件数据所属的模板类型;对于无法匹配到模板类型的数据,将其通过数据分割法分割为必填项信息和非必填项信息,分别获取模板类型,对于依然无法匹配的模板信息,可以填充入模板匹配样本中。
可以理解地,此处筛选校验模块可以通过对内存空间中的文件头进行访问,使用自然语言处理NLP技术对表格表头项和前五个非空行数据的每列数据类型、长度进行识别,将识别结果以JSON格式存储。再将JSON与文件头合并然后使用MD5算法逐个计算哈希值,与已存储的模板哈希表比对,标记文件所属模板。针对没有模板匹配的表格,通过token分割后提取结构化数据中的必填列,对于非必填列信息,从后台数据库中调取对应特征数据进行比对,确定所需的非必填列数据。根据比填列信息和非比填列信息的内容,比对各类文件格式标识,标记文件的模板。针对文件格式模板中没有的文件格式,在(人工)识别后封装成模板格式,并写入到磁盘空间内。
当确认了文件数据的模板类型后,根据模板类型加在文件列表,对文件数据依次进行表头识别、数据校验、格式筛选的数据处理,将已筛选数据发送至去重模块进行去重。去重模块采用哈希表去重法获取已去重数据,发送至数据库中备份,至此完成清洗过程。
可以理解地,此处使用SQL查询器将内存中已清洗数据逐条录入数据库,当录入完成后,清空内存中已开辟的存储空间,并在更新界面显示提醒用户已录入总数。在录入数据库完成后,初始化已录入数据条数等计数值,并提示用户继续下一批次的导入或者其他操作。
进一步地,针对数据库中已清洗的数据,可以设置查询接口,并与外部分析软件相接,从而方便后续的数据查找。
实施例3
基于前述实施例方案,参照图3所示,本发明实施例3还提供一种结构化数据智能清洗设备的具体硬件结构,该结构化数据智能清洗设备3可以包括:存储器32和处理器33;各个组件通过通讯总线31耦合在一起。可以理解地,通讯总线31用于实现这些组件之间的连接通信。通讯总线31除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为通讯总线31。
存储器32,用于存储能够在处理器33上运行的结构化数据智能清洗方法程序;
处理器33,用于在运行结构化数据智能清洗方法程序时,执行以下步骤:
步骤1、基于本地文件读写接口获取待清洗的数据文件并建立文件列表;
步骤2、将所有待清洗的数据文件合并为一个待清洗文件;
步骤3、使用哈希表识别待清洗文件所包含的数据类型和文件格式,并标记可识别文件数据所属的模板类型;
步骤4、根据已标记的模板类型加载文件列表,对文件数据依次进行表头识别、数据校验、格式筛选、查重的数据清洗处理;
步骤5、将已清洗数据使用SQL查询器逐条录入数据库。
进一步地,步骤1具体包括:
基于本地文件读写接口获取所有导入文件,检验导入文件的访问情况;若导入文件可以访问,则标记为待清洗的数据文件,并分配特定的存储空间;若导入文件访问出错,则标记为错误的文件并输出提示窗口信息;以二进制形式将待清洗的数据文件按目录树顺序建立文件列表。
进一步地,步骤2中的合并过程,具体包括:
在待清洗的数据文件中选取主数据文件,并将除主数据文件以外的其他数据文件填充至主数据文件对应列,得到一个待清洗文件。
进一步地,步骤3具体包括:
使用NLP技术识别待清洗文件的表格表头项和前五个非空行数据的数据类型及长度;将识别内容与待清洗文件的文件头合并后使用MD5算法计算哈希值,通过与已存储模板的哈希值比对,标记可识别文件数据所属的模板类型。
进一步地,步骤3还包括:
针对无模板匹配的文件数据进行数据分割,获取必填项信息;针对除必填项信息以外的其他信息基于其数据属性在本地数据库中进行比对查找,生成非必填项信息;基于必填项信息和非必填项信息确认无模板匹配的文件数据所属的模板类型。
进一步地,数据分割方法采用token分割法。
进一步地,识别内容采用JSON格式存储。
进一步地,步骤4中查重的过程采用哈希表查重法。
进一步地,步骤5还包括:
对录入数据库的文件数量进行计数;在录入完成后在显示界面上输出计数值,并在下次获取待清洗的数据文件之前初始化内存和计数值。
可以理解,本发明实施例中的存储器32可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的系统和方法的存储器32旨在包括但不限于这些和任意其它适合类型的存储器。
而处理器33可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器33中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器33可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器32,处理器33读取存储器32中的信息,结合其硬件完成上述方法的步骤。
基于前述实施例,本发明实施例提供一种计算机可读介质,该计算机可读介质存储有结构化数据智能清洗方法程序,结构化数据智能清洗方法程序被至少一个处理器执行时实现上述任一实施例中结构化数据智能清洗方法的步骤。
可以理解地,以上实施例中的方法步骤,可以存储在计算机可读取存储介质中,基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本发明实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文功能的模块(例如过程、函数等)来实现本文的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
具体来说,用户终端中的处理器33还配置为运行计算机程序时,执行前述实施例中的方法步骤,这里不再进行赘述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
需要说明的是:本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上实施例,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种结构化数据智能清洗方法,其特征在于,包括以下步骤:
步骤1、基于本地文件读写接口获取待清洗的数据文件并建立文件列表;
步骤2、将所有待清洗的数据文件合并为一个待清洗文件;
步骤3、使用哈希表识别待清洗文件所包含的数据类型和文件格式,并标记可识别文件数据所属的模板类型;
步骤4、根据已标记的模板类型加载文件列表,对文件数据依次进行表头识别、数据校验、格式筛选、查重的数据清洗处理;
步骤5、将已清洗数据使用SQL查询器逐条录入数据库。
2.根据权利要求1所述的方法,其特征在于,所述步骤1具体包括:
基于本地的文件读写接口获取所有导入文件,检验导入文件的访问情况;
若导入文件可以访问,则标记为所述待清洗的数据文件,并分配特定的存储空间;若导入文件访问出错,则标记为错误的文件并输出提示窗口信息;
以二进制形式将待清洗的数据文件按目录树顺序建立文件列表。
3.根据权利要求1所述的方法,其特征在于,所述步骤2中的合并过程,具体包括:
在所述待清洗的数据文件中选取主数据文件,并将除主数据文件以外的其他数据文件填充至主数据文件对应列,得到一个待清洗文件。
4.根据权利要求1所述的方法,其特征在于,所述步骤3具体包括:
使用NLP技术识别所述待清洗文件的表格表头项和前五个非空行数据的数据类型及长度;
将识别内容与所述待清洗文件的文件头合并后使用MD5算法计算哈希值,通过与已存储模板的哈希值比对,标记可识别文件数据所属的模板类型。
5.根据权利要求4所述的方法,其特征在于,所述步骤3还包括:
针对无模板匹配的文件数据进行数据分割,获取必填项信息;
针对除必填项信息以外的其他信息基于其数据属性在本地数据库中进行比对查找,生成非必填项信息;
基于必填项信息和非必填项信息确认无模板匹配的文件数据所属的模板类型。
6.根据权利要求5所述的方法,其特征在于,所述数据分割方法采用token分割法。
7.根据根据权利要求5所述的方法,其特征在于,所述识别内容采用JSON格式存储。
8.根据权利要求1所述的方法,其特征在于,所述步骤4中查重的过程采用哈希表查重法。
9.根据权利要求1所述的方法,其特征在于,所述步骤5还包括:
对录入数据库的文件数量进行计数;
在录入完成后在显示界面上输出计数值,并在下次获取所述待清洗的数据文件之前初始化内存和计数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910699857.XA CN110457302B (zh) | 2019-07-31 | 2019-07-31 | 一种结构化数据智能清洗方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910699857.XA CN110457302B (zh) | 2019-07-31 | 2019-07-31 | 一种结构化数据智能清洗方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110457302A true CN110457302A (zh) | 2019-11-15 |
CN110457302B CN110457302B (zh) | 2022-04-29 |
Family
ID=68484252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910699857.XA Active CN110457302B (zh) | 2019-07-31 | 2019-07-31 | 一种结构化数据智能清洗方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110457302B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026739A (zh) * | 2019-11-26 | 2020-04-17 | 智器云南京信息科技有限公司 | 批量数据清洗的方法及装置、计算机设备和存储介质 |
CN111046632A (zh) * | 2019-11-29 | 2020-04-21 | 智器云南京信息科技有限公司 | 一种数据提取转换方法、系统、存储介质及电子设备 |
CN111221777A (zh) * | 2020-01-02 | 2020-06-02 | 中国银行股份有限公司 | 一种数据记录的匹配方法及装置 |
CN111240714A (zh) * | 2019-12-29 | 2020-06-05 | 南京云帐房网络科技有限公司 | 一种基于模版智能学习的财务数据初始化方法及系统 |
CN111506499A (zh) * | 2020-04-08 | 2020-08-07 | 百度在线网络技术(北京)有限公司 | 一种小程序中参数可用性检测方法、装置以及电子设备 |
CN111831379A (zh) * | 2020-07-15 | 2020-10-27 | 中车大连机车车辆有限公司 | 在线动态数据批量处理和显示方法及车载显示屏装置 |
CN112231444A (zh) * | 2020-03-31 | 2021-01-15 | 北京来也网络科技有限公司 | 结合rpa和ai的语料数据的处理方法、装置和电子设备 |
CN112364005A (zh) * | 2020-11-10 | 2021-02-12 | 平安科技(深圳)有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
CN112699635A (zh) * | 2021-03-24 | 2021-04-23 | 杭州品茗安控信息技术股份有限公司 | 一种工程造价软件的数据录入方法及相关装置 |
CN112948369A (zh) * | 2021-04-19 | 2021-06-11 | 北京明略昭辉科技有限公司 | 基于配置规则的数据清洗方法、系统及存储介质 |
CN113010503A (zh) * | 2021-03-01 | 2021-06-22 | 广州智筑信息技术有限公司 | 一种基于深度学习的工程造价数据智能解析方法及系统 |
CN113448923A (zh) * | 2020-04-17 | 2021-09-28 | 北京新氧科技有限公司 | 文件生成方法、装置及终端 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750809A (zh) * | 2015-03-26 | 2015-07-01 | 中国科学院软件研究所 | 一种支持关系模型和键-值结构的混合数据存储方法 |
CN105389402A (zh) * | 2015-12-29 | 2016-03-09 | 曙光信息产业(北京)有限公司 | 一种面向大数据的etl方法和装置 |
CN105474166A (zh) * | 2013-03-15 | 2016-04-06 | 先进元素科技公司 | 用于有目的计算的方法和系统 |
US20170124501A1 (en) * | 2015-10-28 | 2017-05-04 | Fractal Industries, Inc. | System for automated capture and analysis of business information for security and client-facing infrastructure reliability |
CN106776843A (zh) * | 2016-11-28 | 2017-05-31 | 浪潮软件集团有限公司 | 一种基于xml解析的导入excel文件的方法 |
CN107463661A (zh) * | 2017-07-31 | 2017-12-12 | 小草数语(北京)科技有限公司 | 数据的导入方法及装置 |
US20170359393A1 (en) * | 2016-06-14 | 2017-12-14 | Wipro Limited | System and Method for Building Contextual Highlights for Conferencing Systems |
CN107633088A (zh) * | 2017-09-29 | 2018-01-26 | 深圳市金证科技股份有限公司 | 一种文件管理方法及装置 |
CN107992599A (zh) * | 2017-12-13 | 2018-05-04 | 厦门市美亚柏科信息股份有限公司 | 文件比对方法和系统 |
CN108021598A (zh) * | 2016-11-04 | 2018-05-11 | 广州市动景计算机科技有限公司 | 页面抽取模板匹配方法、装置及服务器 |
CN108363782A (zh) * | 2018-02-11 | 2018-08-03 | 中国联合网络通信集团有限公司 | 一种数据清洗方法和数据清洗系统 |
CN109325042A (zh) * | 2018-08-14 | 2019-02-12 | 中国平安人寿保险股份有限公司 | 处理模版获取方法、表格处理方法、装置、设备及介质 |
CN110046334A (zh) * | 2019-03-21 | 2019-07-23 | 平安国际智慧城市科技股份有限公司 | 数据导入方法、装置、计算机设备以及存储介质 |
-
2019
- 2019-07-31 CN CN201910699857.XA patent/CN110457302B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105474166A (zh) * | 2013-03-15 | 2016-04-06 | 先进元素科技公司 | 用于有目的计算的方法和系统 |
CN104750809A (zh) * | 2015-03-26 | 2015-07-01 | 中国科学院软件研究所 | 一种支持关系模型和键-值结构的混合数据存储方法 |
US20170124501A1 (en) * | 2015-10-28 | 2017-05-04 | Fractal Industries, Inc. | System for automated capture and analysis of business information for security and client-facing infrastructure reliability |
CN105389402A (zh) * | 2015-12-29 | 2016-03-09 | 曙光信息产业(北京)有限公司 | 一种面向大数据的etl方法和装置 |
US20170359393A1 (en) * | 2016-06-14 | 2017-12-14 | Wipro Limited | System and Method for Building Contextual Highlights for Conferencing Systems |
CN108021598A (zh) * | 2016-11-04 | 2018-05-11 | 广州市动景计算机科技有限公司 | 页面抽取模板匹配方法、装置及服务器 |
CN106776843A (zh) * | 2016-11-28 | 2017-05-31 | 浪潮软件集团有限公司 | 一种基于xml解析的导入excel文件的方法 |
CN107463661A (zh) * | 2017-07-31 | 2017-12-12 | 小草数语(北京)科技有限公司 | 数据的导入方法及装置 |
CN107633088A (zh) * | 2017-09-29 | 2018-01-26 | 深圳市金证科技股份有限公司 | 一种文件管理方法及装置 |
CN107992599A (zh) * | 2017-12-13 | 2018-05-04 | 厦门市美亚柏科信息股份有限公司 | 文件比对方法和系统 |
CN108363782A (zh) * | 2018-02-11 | 2018-08-03 | 中国联合网络通信集团有限公司 | 一种数据清洗方法和数据清洗系统 |
CN109325042A (zh) * | 2018-08-14 | 2019-02-12 | 中国平安人寿保险股份有限公司 | 处理模版获取方法、表格处理方法、装置、设备及介质 |
CN110046334A (zh) * | 2019-03-21 | 2019-07-23 | 平安国际智慧城市科技股份有限公司 | 数据导入方法、装置、计算机设备以及存储介质 |
Non-Patent Citations (2)
Title |
---|
SANDESH GHARATKAR 等: "Review preprocessing using data cleaning and stemming technique", 《2017 INTERNATIONAL CONFERENCE ON INNOVATIONS IN INFORMATION,EMBEDDED AND COMMUNICATION SYSTEMS(ICIIECS)》 * |
李海彪 等: "基于类间方差和离散余弦变换的模板匹配哈希目标跟踪", 《电光与控制》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026739A (zh) * | 2019-11-26 | 2020-04-17 | 智器云南京信息科技有限公司 | 批量数据清洗的方法及装置、计算机设备和存储介质 |
CN111026739B (zh) * | 2019-11-26 | 2023-08-29 | 智器云南京信息科技有限公司 | 批量数据清洗的方法及装置、计算机设备和存储介质 |
CN111046632A (zh) * | 2019-11-29 | 2020-04-21 | 智器云南京信息科技有限公司 | 一种数据提取转换方法、系统、存储介质及电子设备 |
CN111046632B (zh) * | 2019-11-29 | 2023-11-10 | 智器云南京信息科技有限公司 | 一种数据提取转换方法、系统、存储介质及电子设备 |
CN111240714A (zh) * | 2019-12-29 | 2020-06-05 | 南京云帐房网络科技有限公司 | 一种基于模版智能学习的财务数据初始化方法及系统 |
CN111240714B (zh) * | 2019-12-29 | 2024-01-05 | 云帐房网络科技有限公司 | 一种基于模版智能学习的财务数据初始化方法及系统 |
CN111221777B (zh) * | 2020-01-02 | 2024-01-30 | 中国银行股份有限公司 | 一种数据记录的匹配方法及装置 |
CN111221777A (zh) * | 2020-01-02 | 2020-06-02 | 中国银行股份有限公司 | 一种数据记录的匹配方法及装置 |
CN112231444A (zh) * | 2020-03-31 | 2021-01-15 | 北京来也网络科技有限公司 | 结合rpa和ai的语料数据的处理方法、装置和电子设备 |
CN111506499A (zh) * | 2020-04-08 | 2020-08-07 | 百度在线网络技术(北京)有限公司 | 一种小程序中参数可用性检测方法、装置以及电子设备 |
CN111506499B (zh) * | 2020-04-08 | 2023-06-02 | 百度在线网络技术(北京)有限公司 | 一种小程序中参数可用性检测方法、装置以及电子设备 |
CN113448923B (zh) * | 2020-04-17 | 2023-09-12 | 北京新氧科技有限公司 | 文件生成方法、装置及终端 |
CN113448923A (zh) * | 2020-04-17 | 2021-09-28 | 北京新氧科技有限公司 | 文件生成方法、装置及终端 |
CN111831379A (zh) * | 2020-07-15 | 2020-10-27 | 中车大连机车车辆有限公司 | 在线动态数据批量处理和显示方法及车载显示屏装置 |
CN111831379B (zh) * | 2020-07-15 | 2023-06-30 | 中车大连机车车辆有限公司 | 在线动态数据批量处理和显示方法及车载显示屏装置 |
CN112364005A (zh) * | 2020-11-10 | 2021-02-12 | 平安科技(深圳)有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
CN112364005B (zh) * | 2020-11-10 | 2024-02-27 | 平安科技(深圳)有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
CN113010503A (zh) * | 2021-03-01 | 2021-06-22 | 广州智筑信息技术有限公司 | 一种基于深度学习的工程造价数据智能解析方法及系统 |
CN112699635A (zh) * | 2021-03-24 | 2021-04-23 | 杭州品茗安控信息技术股份有限公司 | 一种工程造价软件的数据录入方法及相关装置 |
CN112948369A (zh) * | 2021-04-19 | 2021-06-11 | 北京明略昭辉科技有限公司 | 基于配置规则的数据清洗方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110457302B (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110457302A (zh) | 一种结构化数据智能清洗方法 | |
CN110909226B (zh) | 金融类文档信息处理方法、装置、电子设备及存储介质 | |
CN110069623B (zh) | 摘要文本生成方法、装置、存储介质和计算机设备 | |
US7590647B2 (en) | Method for extracting, interpreting and standardizing tabular data from unstructured documents | |
US7266537B2 (en) | Predictive selection of content transformation in predictive modeling systems | |
US8949166B2 (en) | Creating and processing a data rule for data quality | |
US20210064821A1 (en) | System and method to extract customized information in natural language text | |
CN110263311B (zh) | 一种网络页面的生成方法及设备 | |
US20190392035A1 (en) | Information object extraction using combination of classifiers analyzing local and non-local features | |
CN102713834A (zh) | 管理记录格式信息 | |
WO2024109619A1 (zh) | 敏感数据识别方法、装置、设备及计算机存储介质 | |
CN109146625B (zh) | 一种基于内容的多版本App更新评价方法及系统 | |
CN110532359A (zh) | 法律条文查询方法、装置、计算机设备和存储介质 | |
CN116775639A (zh) | 数据处理方法、存储介质及电子设备 | |
CN116189215A (zh) | 自动审核方法、装置、电子设备及存储介质 | |
CN111815162A (zh) | 一种数字化审计工具及方法 | |
CN111190880A (zh) | 一种数据库检测方法、装置和计算机可读存储介质 | |
JP2008112363A (ja) | 文書処理装置および文書処理プログラム | |
AU2017201787B2 (en) | Fuzzy data operations | |
CN117112642A (zh) | 跨域数据引用完整性分析方法、装置、终端及存储介质 | |
US11789903B1 (en) | Tagging tool for managing data | |
US20080162165A1 (en) | Method and system for analyzing non-patent references in a set of patents | |
CA3162733A1 (en) | Extracting key value pairs using positional coordinates | |
CN114169334A (zh) | 一种语义识别方法、装置、设备及介质 | |
CN113779200A (zh) | 目标行业词库的生成方法、处理器及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |