CN116860730A - 数据清洗方法、装置、电子设备及存储介质 - Google Patents
数据清洗方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116860730A CN116860730A CN202310779858.1A CN202310779858A CN116860730A CN 116860730 A CN116860730 A CN 116860730A CN 202310779858 A CN202310779858 A CN 202310779858A CN 116860730 A CN116860730 A CN 116860730A
- Authority
- CN
- China
- Prior art keywords
- data
- cleaning
- source
- cleaned
- characters
- 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.)
- Pending
Links
- 238000004140 cleaning Methods 0.000 title claims abstract description 201
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000008569 process Effects 0.000 claims description 20
- 238000000605 extraction Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 14
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000011068 loading method Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims 1
- 238000013515 script Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 238000010926 purge Methods 0.000 description 3
- 208000025174 PANDAS Diseases 0.000 description 2
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 2
- 240000004718 Panda Species 0.000 description 2
- 235000016496 Panda oleosa Nutrition 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 208000035475 disorder Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据清洗方法、装置、电子设备及存储介质,所述方法包括:从至少一个数据源中获取源数据;确定所述源数据中的待清洗字符,运行已编写完成的应用程序以读取所述源数据,确定所述源数据的不同数据类型;基于所述待清洗字符对各所述数据类型的源数据进行数据清洗,得到清洗后的目标数据;基于所述目标数据确定清洗结果,在所述清洗结果达到预设目标的情况下,将所述目标数据存储至数据库中。本发明能够提高数据清洗的效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据清洗方法、装置、电子设备及存储介质。
背景技术
在数据分析中,进行数据清洗是必不可少的环节,但是数据清洗过程中通常由于源数据杂乱无章,导致数据清洗的难度加大,费时费力。
因此,如何对来自于不同数据源的数据进行统一的数据清洗,提高清洗效率,是当前亟需解决的技术问题。
发明内容
本发明提供一种数据清洗方法、装置、电子设备及存储介质,用以解决现有技术中数据清洗效率较低的缺陷,实现提高清洗效率。
本发明提供一种数据清洗方法,包括:
从至少一个数据源中获取源数据;
确定所述源数据中的待清洗字符,运行已编写完成的应用程序以读取所述源数据,确定所述源数据的不同数据类型;
基于所述待清洗字符对各所述数据类型的源数据进行数据清洗,得到清洗后的目标数据;
基于所述目标数据确定清洗结果,在所述清洗结果达到预设目标的情况下,将所述目标数据存储至数据库中。
根据本发明提供的一种数据清洗方法,所述从至少一个数据源中获取源数据之后,所述方法还包括:
确定所述源数据来自不同的所述数据源;
对来自各所述数据源的源数据进行抽取、转换和加载,得到各所述数据源对应的目标抽取数据;
将所述目标抽取数据存储至临时表中,基于各所述目标抽取数据以及临时表名称确定目标标记,以基于所述目标标记对所述清洗结果进行查询。
根据本发明提供的一种数据清洗方法,所述确定所述源数据中的待清洗字符,包括:
接收用户发送的数据清洗指令;
响应于所述数据清洗指令,判断所述数据清洗指令数据清洗指令中是否携带填写字符,其中,所述填写字符是所述用户自定义确定的;
在所述数据清洗指令数据清洗指令中不携带所述填写字符的情况下,确定预设默认字符为待清洗字符;
其中,所述预设默认字符是对历史清洗字符进行大数据采集确定的。
根据本发明提供的一种数据清洗方法,所述响应于所述数据清洗指令,判断所述数据清洗指令中是否携带填写字符之后,还包括:
在所述数据清洗指令中携带存在至少一个所述填写字符的情况下,确定所述填写字符的字符数量;
在所述字符数量为一个的情况下,确定所述填写字符为所述待清洗字符;
在所述字符数量为至少两个的情况下,删除所述填写字符中用于间隔字符的目标字符,将剩余的填写字符作为所述待清洗字符。
根据本发明提供的一种数据清洗方法,所述方法还包括:
监控数据清洗过程,并同步生成实时清洗日志;
将所述实时清洗日志和清洗结果展示于可显示页面。
根据本发明提供的一种数据清洗方法,所述方法还包括:
在所述实时清洗日志出现异常,或,所述清洗结果未达到预设目标的情况下,向用户发送提示信号。
本发明还提供一种数据清洗装置,包括:
获取模块,用于从至少一个数据源中获取源数据;
确定模块,用于确定所述源数据中的待清洗字符,运行已编写完成的应用程序以读取所述源数据,确定所述源数据的不同数据类型;
清洗模块,用于基于所述待清洗字符对各所述数据类型的源数据进行数据清洗,得到清洗后的目标数据;
存储模块,用于基于所述目标数据确定清洗结果,在所述清洗结果达到预设目标的情况下,将所述目标数据存储至数据库中。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据清洗方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据清洗方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据清洗方法。
本发明提供的数据清洗方法、装置、电子设备及存储介质,通过从至少一个数据源中获取源数据,确定源数据中的待清洗字符,基于待清洗字符运行已编写完成的应用程序以读取源数据,并基于待清洗字符对源数据进行数据清洗,得清洗后的到目标数据,最后,确定数据源的清洗结果,在清洗结果达到预设目标的情况下,将目标数据存储至数据库中。本发明能够根据用户的需求确定待清洗字符,通过运行应用程序对不同的源数据进行统一的数据清理,保证了数据清理的效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术的数据清洗方法的流程示意图之一;
图2是现有技术的数据清洗方法的流程示意图之二;
图3是现有技术的数据清洗方法的流程示意图之三;
图4是本发明提供的数据清洗方法的流程示意图之一;
图5是本发明提供的数据清洗方法的流程示意图之二;
图6是本发明提供的数据清洗方法的流程示意图之三;
图7是本发明提供的数据清洗装置的结构示意图;
图8是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在数据分析中,进行数据清洗是必不可少的环节,目前进行数据清洗的方式有很多种。
第一种方法是人工方式手动处理比如导出用excel表格方式清洗或者手动写上结构化查询语言数据库(Structured Query Language,SQL)语句进行处理。
参照图1,图1是现有技术中的数据清洗方法的流程图之一,包括以下步骤:
步骤110、获取数据源1和数据源2;
步骤120、手动导出Excel文件;
步骤130、对数据进行清洗;
步骤140、清洗后的数据再次装载到数据库。
参照图2,图2是现有技术中的数据清洗方法的流程图之二,包括以下步骤:
步骤210、获取数据源1和数据源2;
步骤220、数据库中手动写上清洗sql语句;
步骤230、执行语句对数据进行清洗;
步骤240、查看清洗后的数据是否满足要求。
上述的两种方式操作简单,但是对大批量数据支持交叉,导出时间太长且容易失败。
第二种方法是借助市面上的抽数工具比如kettle。
参照图3,图3是现有技术的数据清洗方法的流程图之三,包括以下步骤:
步骤310、获取数据源1和数据源2;
步骤320、设置kettle数据清洗规则;
步骤330、数据清洗;
步骤340、清洗后的数据再次装载到数据库。
这种方法的优点是可视化界面支持图形化GUI设计界面,组件多样性,支持http请求,上手简单支持拖拽,支持sql,可以编写js,可以编写一些java代码,然后以工作流的形式流转。如果没有冲突可以并行执行,并行开发。在工具内可以查看读写修改输出更新拒绝错误等一些参数,快速定位和纠错。缺点是面对特别复杂的业务逻辑,受制于组件的使用情况,性能提升需要不断优化,线上部署多样式,但是没有完美的部署方案,暂定开源软件项目Jenkins,线上执行打印日志只能报对错,不太详细。
因此,本发明的本发明主要是在系统接入源数据库后,首先进行ETL(抽取(extract)、转换(transform)、加载(load))处理,在数据抽取过程中,通过python编程编写脚本,筛选出同一类型的数据,如字符串类型,数字类型等,对同一类型的数据中含有的杂乱字符串,如空格,逗号,引号分号等不需要出现的字符进行自动识别,并监测去除处理。在这基础上,也可进行配置清洗字符参数选择自主输入,将整个python脚本包装为一个页面,用户通过页面操作自主填写清洗的字符,点击执行后,在后台运行python脚本,而使整个数据清洗过程更加智能化和个性化,从而适用不同场景中数据清洗的处理需求。
参照图4,本发明提供的是数据清洗方法,包括以下步骤:
步骤410、从至少一个数据源中获取源数据;
步骤420、确定所述源数据中的待清洗字符,运行已编写完成的应用程序以读取所述源数据,确定所述源数据的不同数据类型;
步骤430、基于所述待清洗字符对各所述数据类型的源数据进行数据清洗,得到清洗后的目标数据;
步骤440、基于所述目标数据确定清洗结果,在所述清洗结果达到预设目标的情况下,将所述目标数据存储至数据库中。
首先需要说明的是,本发明提供的数据清洗方法的执行主体可以是电子设备、电子设备中的部件、集成电路、或芯片。该电子设备可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)或个人计算机(personal computer,PC)等,本发明不作具体限定。以下以计算机执行本发明提供的数据清洗方法,对本发明的各步骤进行详细描述。
以下对本发明的各个步骤进行详细描述。
首先,在上述步骤410中,数据源可以为一个或者多个。也就是说本实施例可以通过不同的数据源中选取源数据。
在上述步骤420中,需要根据用户的需求确定源数据中的待清洗字符,其获取方式是根据用户输入确定。若用户输入中存在填写字符,则根据用户的填写字符确定待清洗字符,若用户输入中不存在字符,组根据默认的特殊字符确定待清洗字符。
然后根据待清洗字符运行已编写完成的应用程序,实现对源数据的读取。在具体的实施过程中,用户输入数据清洗的填写内容,确定待清洗字符之后,点击执行按钮,运行已编写的应用程序(脚本)来实现对源数据的读取,将源数据分词不同的数据类型,比如字符串类型、数字类型、文字类型等。
需要说明的是,本实施例中的应用程序通常为Python中的pandas包。在具体应用过程中也可以为其他应用程序,在此不做过多限定。
进一步地,通过上述步骤430,根据待清洗字符对各数据类型的源数据进行清洗。例如,字符串类型包括:逗号“,”、句号“。”、省略号“……”等,待清洗字符为逗号“,”,则将源数据中的逗号“,”清洗掉。同理,数字类型包括各大小的数据,待清洗字符为“0”时,则将源数据中的“0”全部清洗掉。其他地,待清洗字符还可以为空格、等一些特殊字符。将各数据类型的源数据进行清洗后,得到清洗后的目标数据。
最后,通过上述步骤440,验证数据清洗的结果,若清洗后的数据达到清洗的预设目标,比如不存在待清洗字符或者待清洗字符占比小于预设值时,将清洗后的目标数据存储至数据库中。
本发明提供的数据清洗方法,通过从至少一个数据源中获取源数据,确定源数据中的待清洗字符,基于待清洗字符运行已编写完成的应用程序以读取源数据,并基于待清洗字符对源数据进行数据清洗,得清洗后的到目标数据,最后,确定数据源的清洗结果,在清洗结果达到预设目标的情况下,将目标数据存储至数据库中。本发明能够根据用户的需求确定待清洗字符,通过运行应用程序对不同的源数据进行统一的数据清理,保证了数据清理的效率。
在一些可选的实施例中,所述从至少一个数据源中获取源数据之后,所述方法还包括:
确定所述源数据来自不同的所述数据源;
对来自各所述数据源的源数据进行抽取、转换和加载,得到各所述数据源对应的目标抽取数据;
将所述目标抽取数据存储至临时表中,基于各所述目标抽取数据以及临时表名称确定目标标记,以基于所述目标标记对所述清洗结果进行查询。
具体地,在获取源数据之后,需要确定这些源数据来自于不同的数据源。举例而言,本实施例中的源数据为来自两个不同数据源的数据。比如获取到的源数据包括源数据A和源数据B,源数据A来自于第一数据源,源数据B来自于第二数据源。
然后分别对第一数据源的源数据A和第二数据源的源数据B进行ETL处理,即抽取(extract)、转换(transform)、加载(load)处理,分别得到第一抽取数据和第二抽取数据。
本实施例中,在数据抽取、转换和加载完成之后,可将第一抽取数据和第二抽取数据存储至临时表中。需要说明的是,临时表是建立在系统临时文件夹中的表,可暂时进行数据存储。
将第一数据源和第二数据源存储至临时表之后,根据第一数据源和第二数据源以及该临时表的名称确定目标标记,数据清洗完成之后,可根据目标标记来查询清洗结果。
举例而言,若需要查询第一数据源的数据清洗结果,第一数据源标记为1,临时表的名称标记为L1,则可以确定目标标记为L1.1,即可根据标记L1.1在所有的源数据清洗结果中查询临时表中的第一数据源的清洗结果。
需要说明的是,本实施例中,基于Python脚本逻辑,在读取源数据的过程中,首先需要确定临时表中的第一数据源和第二数据源的排布方式,比如按列排布或者按行排布。
当第一数据源和第二数据源是按列排布时,根据已编写完成的Python脚本按列读取临时表中的数据,然后根据待清洗字符对第一数据源和第二数据源进行数据清洗。
本发明提供的数据清洗方法,通过将ETL的数据临时存储临时表中,根据临时表的名称和数据源的名称确定目标标记,以根据目标标记查询数据源的清洗结果,方便了用户对数据清洗过程和结果查询的便利性,进而提高数据清洗的效率。
在一些可选的实施例中,所述确定所述源数据中的待清洗字符,包括:
接收用户发送的数据清洗指令;
响应于所述数据清洗指令,判断所述数据清洗指令数据处理指令数据清洗指令中是否存在携带填写字符,其中,所述填写字符是所述用户自定义确定的;
在所述数据清洗指令数据处理指令数据清洗指令中不存在携带所述填写字符的情况下,确定预设默认字符为待清洗字符;
其中,所述预设默认字符是对历史清洗字符进行大数据采集确定的;
在所述数据清洗指令中携带存在至少一个所述填写字符的情况下,确定所述填写字符的字符数量;
在所述字符数量为一个的情况下,确定所述填写字符为所述待清洗字符;
在所述字符数量为至少两个的情况下,删除所述填写字符中用于间隔字符的目标字符,将剩余的填写字符作为所述待清洗字符。
可以理解的是,本实施例为待清洗字符的确定过程。
首先需要要说明的是,数据清洗指令即为用户在计算机操作面板上输入的数据清洗的操作指令。在实际应用过程中,用户在需要进行数据清洗时,可在计算机操作面板上点击数据清洗按钮。计算机接收到用户发送的数据清洗指令之后进行响应,判断数据清洗指令中是否存在用户自行输入的填写字符,即确定用户是否自定义需要清洗的字符。
一方面,若数据清洗指令中不存在填写字符,则表示用户没有自定义待清洗字符,确定预设默认字符为待清洗字符进行数据清洗。默认的待清洗字符根据历史清理字符进行大数据采集确定。
举例而言,若三次历史清理字符分为别为:第一次:空格、逗号、0、省略号;第二次:空格、逗号、感叹号、1;第三次:问号、逗号、2、空格。则根据历史清理字符可确定默认清理的字符为:空格和逗号。
另一方面,若数据清洗指令中存在填写字符,则表示用户通过填写来自定义待清洗字符,则需要确定用户填写的字符数量,进而确定具体的待清洗字符。
可选地,填写字符也需要根据用户自定义的字符数量来确定。比如,若用户填写的字符仅为一个,则直接确定该字符即为待清理字符。若用户填写的字符为三个,用户在填写字符时,一般会将填写字符通过目标字符如逗号进行隔开,则在确定字符数量之后,需要将每个目标字符进行删除,然后将剩下的填写字符确定为待清洗字符。
举例而言,若用户填写字符为逗号“,”,则可以直接确定待清理字符为逗号“,”。若用户填写字符为‘,’,’/’,’$’,则需将用于分隔的目标字符删除,得到剩下的字符“,,/,$”作为待清洗字符。
本发明提供的数据清洗方法,通过判断用户是否填写字符来确定待清洗字符,针对不同的用户输入的数据清洗指令执行不同的数据清洗操作,通过不同的数据清洗方式来满足用户的数据清洗请求,进而确保数据清洗的效率。
在一些可选的实施例中,所述方法还包括:
监控数据清洗过程,并同步生成实时清洗日志;
将所述实时清洗日志和清洗结果展示于可显示页面;
在所述实时清洗日志出现异常,或,所述清洗结果未达到预设目标的情况下,向用户发送提示信号。
本实施例中,在后台执行数据清洗的过程中,可对数据清洗过程进行监控,同步生成数据清洗的实时清洗日志。实时清洗日志可包括数据清洗的开始时间、结束时间、清洗系统占用率等。
为了便于用户查看数据清洗的过程和数据清洗结果,可将实时清洗日志和数据清洗结果展示在可显示界面,比如计算机的显示屏幕或通过无线通信传输到用户终端。
并且,当数据清洗出现异常时,比如数据清洗速度变快或变慢以及停止,或者待清洗字符出现错乱,则可通过发送邮件的方式或者发送警示信号的方式向用户进行提示。此外,当清洗结果未达到预设目标时,比如清洗后的数据中还存在高于目标比例的待清洗字符,此时则需要及时向用户发送提示信号,以告知用户需要再次进行数据清洗。
本发明提供的数据清洗方法,通过监控数据清洗的过程以及时向用户展示,并且在数据清洗出现异常以及清洗结果不佳时及时向用户进行提示,可供用户更全面地掌握数据清洗的过程,并针对异常情况及时采取措施,因而能够提高数据清洗的整体效率。
参照图5,本发明提供的数据清洗方法,包括以下步骤:
步骤510、获取数据源1和数据源2;
步骤520、临时表存储抽取的源数据;
步骤530、在数据清洗执行页面填写清洗的字符,可以填写多个,以逗号分隔;若不填写可默认清洗特殊字符。填写完毕后点击执行按钮。执行结果在页面展示,并且发送邮件提示;
步骤540、后台执行python脚本,并根据输入的需要清洗的字符进行清洗;
步骤541、Python脚本逻辑:读取零时数据库表数据按列读取;使用python中pandas包进行数据清洗,若执行脚本时无参数输入,则直接默认清洗逗号,空格,等一些特殊字符,若执行脚本时输入参数,则针对输入的参数进行数据清洗。
步骤550、查验数据库数据清洗结果。
参照图6,本发明提供的数据清洗方法,包括以下步骤:
步骤610、获取数据源1和数据源2;
步骤620、将数据源1和数据源2存储临时表;
步骤630、页面配置待清洗字符;
步骤640、后台执行清洗任务;
步骤650、任务日志页面展示;
步骤660、任务执行结果页面展示;
步骤670、清洗失败发送邮件;
步骤680、数据清洗结束。
下面对本发明提供的数据清洗装置进行描述,下文描述的数据清洗装置与上文描述的数据清洗方法可相互对应参照。
参照图7,本发明提供的数据清洗装置,包括但不限于以下模块:
获取模块710,用于从至少一个数据源中获取源数据;
确定模块720,用于确定所述源数据中的待清洗字符,运行已编写完成的应用程序以读取所述源数据,确定所述源数据的不同数据类型;
清洗模块730,用于基于所述待清洗字符对各所述数据类型的源数据进行数据清洗,得到清洗后的目标数据;
存储模块740,用于基于所述目标数据确定清洗结果,在所述清洗结果达到预设目标的情况下,将所述目标数据存储至数据库中。
本发明提供的数据清洗装置,通过从至少一个数据源中获取源数据,确定源数据中的待清洗字符,基于待清洗字符运行已编写完成的应用程序以读取源数据,并基于待清洗字符对源数据进行数据清洗,得清洗后的到目标数据,最后,确定数据源的清洗结果,在清洗结果达到预设目标的情况下,将目标数据存储至数据库中。本发明能够根据用户的需求确定待清洗字符,通过运行应用程序对不同的源数据进行统一的数据清理,保证了数据清理的效率。
在一些可选的实施例中,所述装置还包括临时存储模块,所述临时存储模块用于:
确定所述源数据来自不同的所述数据源;
对来自各所述数据源的源数据进行抽取、转换和加载,得到各所述数据源对应的目标抽取数据;
将所述目标抽取数据存储至临时表中,基于各所述目标抽取数据以及临时表名称确定目标标记,以基于所述目标标记对所述清洗结果进行查询。
在一些可选的实施例中,所述确定所述源数据中的待清洗字符,包括:
接收用户发送的数据清洗指令;
响应于所述数据清洗指令,判断所述数据清洗指令数据清洗指令中是否携带填写字符,其中,所述填写字符是所述用户自定义确定的;
在所述数据清洗指令数据清洗指令中不携带所述填写字符的情况下,确定预设默认字符为待清洗字符;
其中,所述预设默认字符是对历史清洗字符进行大数据采集确定的。
在一些可选的实施例中,所述装置还包括待清理字符确定模块,所述待清理字符确定模块用于:在所述数据清洗指令中携带存在至少一个所述填写字符的情况下,确定所述填写字符的字符数量;
在所述字符数量为一个的情况下,确定所述填写字符为所述待清洗字符;
在所述字符数量为至少两个的情况下,删除所述填写字符中用于间隔字符的目标字符,将剩余的填写字符作为所述待清洗字符。
在一些可选的实施例中,所述装置还包括监控模块,所述监控模块具体用于:
监控数据清洗过程,并同步生成实时清洗日志;
将所述实时清洗日志和清洗结果展示于可显示页面;
在所述实时清洗日志出现异常,或,所述清洗结果未达到预设目标的情况下,向用户发送提示信号。
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行数据清洗方法,该方法包括:
从至少一个备选数据源数据源中获取源数据;
确定所述源数据中的待清洗字符,运行已编写完成的应用程序以读取所述源数据,确定所述源数据的不同数据类型;
基于所述待清洗字符对各所述数据类型的源数据进行数据清洗,得到清洗后的目标数据;
基于所述目标数据确定清洗结果,在所述清洗结果达到预设目标的情况下,将所述目标数据存储至数据库中。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据清洗方法,该方法包括:
从至少一个备选数据源数据源中获取源数据;
确定所述源数据中的待清洗字符,运行已编写完成的应用程序以读取所述源数据,确定所述源数据的不同数据类型;
基于所述待清洗字符对各所述数据类型的源数据进行数据清洗,得到清洗后的目标数据;
基于所述目标数据确定清洗结果,在所述清洗结果达到预设目标的情况下,将所述目标数据存储至数据库中。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的数据清洗方法,该方法包括:
从至少一个备选数据源数据源中获取源数据;
确定所述源数据中的待清洗字符,运行已编写完成的应用程序以读取所述源数据,确定所述源数据的不同数据类型;
基于所述待清洗字符对各所述数据类型的源数据进行数据清洗,得到清洗后的目标数据;
基于所述目标数据确定清洗结果,在所述清洗结果达到预设目标的情况下,将所述目标数据存储至数据库中。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据清洗方法,其特征在于,包括:
从至少一个数据源中获取源数据;
确定所述源数据中的待清洗字符,运行已编写完成的应用程序以读取所述源数据,确定所述源数据的不同数据类型;
基于所述待清洗字符对各所述数据类型的源数据进行数据清洗,得到清洗后的目标数据;
基于所述目标数据确定清洗结果,在所述清洗结果达到预设目标的情况下,将所述目标数据存储至数据库中。
2.根据权利要求1所述的数据清洗方法,其特征在于,所述从至少一个数据源中获取源数据之后,所述方法还包括:
确定所述源数据来自不同的所述数据源;
对来自各所述数据源的源数据进行抽取、转换和加载,得到各所述数据源对应的目标抽取数据;
将所述目标抽取数据存储至临时表中,基于各所述目标抽取数据以及临时表名称确定目标标记,以基于所述目标标记对所述清洗结果进行查询。
3.根据权利要求1所述的数据清洗方法,其特征在于,所述确定所述源数据中的待清洗字符,包括:
接收用户发送的数据清洗指令;
响应于所述数据清洗指令,判断所述数据清洗指令数据清洗指令中是否携带填写字符,其中,所述填写字符是所述用户自定义确定的;
在所述数据清洗指令数据清洗指令中不携带所述填写字符的情况下,确定预设默认字符为待清洗字符;
其中,所述预设默认字符是对历史清洗字符进行大数据采集确定的。
4.根据权利要求3所述的数据清洗方法,其特征在于,所述响应于所述数据清洗指令,判断所述数据清洗指令中是否携带填写字符之后,还包括:
在所述数据清洗指令中携带至少一个所述填写字符的情况下,确定所述填写字符的字符数量;
在所述字符数量为一个的情况下,确定所述填写字符为所述待清洗字符;
在所述字符数量为至少两个的情况下,删除所述填写字符中用于间隔字符的目标字符,将剩余的填写字符作为所述待清洗字符。
5.根据权利要求1所述的数据清洗方法,其特征在于,所述方法还包括:
监控数据清洗过程,并同步生成实时清洗日志;
将所述实时清洗日志和清洗结果展示于可显示页面。
6.根据权利要求5所述的数据清洗方法,其特征在于,所述方法还包括:
在所述实时清洗日志出现异常,或,所述清洗结果未达到预设目标的情况下,向用户发送提示信号。
7.一种数据清洗装置,其特征在于,包括:
获取模块,用于从至少一个数据源中获取源数据;
确定模块,用于确定所述源数据中的待清洗字符,运行已编写完成的应用程序以读取所述源数据,确定所述源数据的不同数据类型;
清洗模块,用于基于所述待清洗字符对各所述数据类型的源数据进行数据清洗,得到清洗后的目标数据;
存储模块,用于基于所述目标数据确定清洗结果,在所述清洗结果达到预设目标的情况下,将所述目标数据存储至数据库中。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述数据清洗方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据清洗方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据清洗方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310779858.1A CN116860730A (zh) | 2023-06-28 | 2023-06-28 | 数据清洗方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310779858.1A CN116860730A (zh) | 2023-06-28 | 2023-06-28 | 数据清洗方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116860730A true CN116860730A (zh) | 2023-10-10 |
Family
ID=88224398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310779858.1A Pending CN116860730A (zh) | 2023-06-28 | 2023-06-28 | 数据清洗方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116860730A (zh) |
-
2023
- 2023-06-28 CN CN202310779858.1A patent/CN116860730A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210318851A1 (en) | Systems and Methods for Dataset Merging using Flow Structures | |
US20140281721A1 (en) | Automatic generation of test scripts | |
CN104657274B (zh) | 软件界面测试方法及装置 | |
US10713070B2 (en) | Systems and methods for capturing and visualizing user interactions across devices | |
CN112766655B (zh) | 自动化排产方法、装置、设备及计算机可读存储介质 | |
CN110737594A (zh) | 自动生成测试用例的数据库标准符合性测试方法及装置 | |
CN111125067A (zh) | 数据维护方法及装置 | |
CN115016321A (zh) | 一种硬件在环自动化测试方法、装置及系统 | |
CN110889272A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN111159028B (zh) | 网页测试方法及装置 | |
CN116860730A (zh) | 数据清洗方法、装置、电子设备及存储介质 | |
CN116431522A (zh) | 一种低代码对象存储网关自动化测试方法及系统 | |
CN116360787A (zh) | 表格代码自动生成方法、装置、电子设备及存储介质 | |
CN107273293B (zh) | 大数据系统性能测试方法、装置及电子设备 | |
CN116402325A (zh) | 业务流程自动化处理方法及装置 | |
CN115048359A (zh) | 一种多类型接入数据源的通用数据处理架构设计方法 | |
CN108959508B (zh) | Sql数据生成方法及装置 | |
CN115878448A (zh) | 数据库测试方法、分布式数据库、存储介质 | |
JP2008250727A (ja) | データ管理方法、プログラム及び装置 | |
CN111078543B (zh) | 系统动态化测试方法及测试装置 | |
CN111782641A (zh) | 数据错误修复方法及系统 | |
US11829336B1 (en) | Systems and methods for automated data dictionary generation and validation | |
CN110716855B (zh) | 处理器指令集测试方法及装置 | |
CN112506944B (zh) | 业务系统间的数据标准转换取数方法、装置、设备和介质 | |
CN116361369A (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 |