用于二维数据清洗的方法、系统及计算机可读存储介质与流程

文档序号:11250994阅读:1010来源:国知局
用于二维数据清洗的方法、系统及计算机可读存储介质与流程

本发明涉及计算机应用技术领域,具体而言,涉及一种二维数据清洗方法、系统及计算机可读存储介质。



背景技术:

随着计算机技术的发展和互联网的普及,计算机技术对人们的生活和工作产生了日益深入的影响,越来越多的领域使用计算机技术来帮助处理二维数据,这与人工处理相比大大提高了效率和准确性。

二维数据通常承载在二维表格形式中。二维表格以“行”为主要单位,每行内有很多“单元格”;不同行但同一列的“单元格”通常存储的是同一用途的数据。在计算机系统中,常用的二维表格形式的文件类型包括,例如,后缀名为“.xls”或“.xlsx”的excel文件、后缀名为“.csv”的文本文件等。这些文件类型之间的区别仅仅在于数据存储的形式不同或者数据是否经过压缩。数据和承载其的文件之间是相互独立的。通过一些计算机软件,可以从不同文件类型中读取二维数据,也可以将二维数据写入不同的文件类型中。

在数据的定量研究和轻量级数据处理中,均需要对数据进行清洗处理,以剔除异常数据,保证数据结果的信度和效度。数据清洗是指,对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据的一致性。

目前,excel软件自身可提供一些数据清洗功能,但需要使用者熟悉excel的操作,这对于初学者来说可能是相当复杂的。在使用者只希望对二维数据表格进行清洗处理而不会用到excel的其它功能的情况下,为此学习excel的复杂操作对于使用者来说无疑是耗时而且低效的。

另外,excel自身提供的功能存在一定的局限性。常见的excel数据筛选方式主要有3种:自动筛选命令、函数公式和vba(visualbasicforapplications)。其中,自动筛选命令和函数公式是excel软件中提供的两种数据筛选功能;vba是visualbasic的一种宏语言,是由微软公司开发的、在其桌面应用程序中执行通用的自动化(ole)任务的编程语言,主要用来扩展windows的应用的功能,特别是microsoftoffice软件。

通过excel自身的筛选命令和函数公式或用户自己编写的vba程序对数据进行清洗,对于使用者来说也存在着一定的门槛或局限性,学习成本较高。首先,对于筛选命令,需要使用者熟练掌握excel软件的使用方法,存在一定的操作门槛。其次,excel自带的函数公式,只提供部分功能,存在一定的局限性。最后,编写vba程序则进一步要求使用者具备编程能力。

因此,对于不具备编程能力或不熟悉excel使用方法的广大普通使用者来说,迫切需要一种更加用户友好的、容易操作、直观的数据清洗方法和系统。



技术实现要素:

为了解决现有技术中存在的一个或多个问题,本发明提供一种用于二维数据清洗的方法、系统及计算机可读存储介质。

根据本发明的一方面,提供了一种用于二维数据清洗的方法,其特征在于,包括:以可视化方式将用于二维数据进行清洗的筛选条件提供给用户,其中,所述筛选条件包括单列运算逻辑、多列运算逻辑和双列范围逻辑中的一个或多个的组合;响应于用户输入,接收用户选择的筛选条件;以及根据所述筛选条件对所述二维数据进行清洗。

在一个实施例中,在以可视化方式将筛选条件提供给用户之前,还包括:接收承载二维数据的文件,并将所接收的文件解析为预定格式的二维数据;在根据所述筛选条件对所述二维数据进行清洗之后,还包括:将清洗后的二维数据转换为承载二维数据的所述文件所需的格式,生成并输出二维数据清洗后的文件。

在一个实施例中,以可视化方式将用于二维数据进行清洗的筛选条件提供给用户还包括:以可视化方式将与/或运算符选项提供给用户;筛选条件包括:单列运算逻辑、多列运算逻辑和双列范围逻辑,响应于用户输入,通过与/或运算符的组合;根据筛选条件对所述二维数据进行清洗包括:对单列运算逻辑、多列运算逻辑和双列范围逻辑的计算结果执行相应的与/或运算。

在一个实施例中,以可视化方式将用于二维数据进行清洗的筛选条件提供给用户还包括:以可视化方式将优先级选项提供给用户;所述筛选条件包括:响应于用户输入,在所述单列运算逻辑、多列运算逻辑和双列范围逻辑间,通过与/或运算符的组合中设置优先级顺序;所述根据所述筛选条件对所述二维数据进行清洗包括:按照所设置的优先级顺序,对所述单列运算逻辑、多列运算逻辑和双列范围逻辑的计算结果执行相应的与/或运算。

在一个实施例中,该数据清洗方法还包括以可视化方式将保留和剔除选项提供给用户,响应于用户输入,在用户选择保留时,将满足所述筛选条件的数据保留;并且在用户选择剔除时,将满足所述筛选条件的数据剔除。

根据本发明的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时以上所述的方法。

根据本发明的又一方面,提供了一种用于二维数据清洗的设备,其特征在于,包括:一个或多个处理器;存储装置,其用于存储一个或多个程序,其中,当一个或多个程序被该一个或多个处理器执行,使得该一个或多个处理器实现以上所述的方法。

根据本发明的再一方面,提供了一种用于二维数据清洗的系统,其特征在于,包括:筛选条件显示单元,用于以可视化方式将筛选条件提供给用户,其中,所述筛选条件包括单列运算逻辑、多列运算逻辑和双列范围逻辑中的一个或多个的组合;用户接口单元,用于响应于用户输入,接收用户选择的筛选条件;以及数据清洗单元,用于根据所述筛选条件对所述二维数据进行清洗。

在一个实施例中,该系统还包括:文件接收单元,用于接收承载二维数据的文件数据;文件解析单元,用于将所接收的文件解析为预定格式的二维数据;数据导出单元,用于将清洗后的二维数据转换为承载二维数据的所述文件所需的格式,并生成完成数据清洗后的文件。

在一个实施例中,筛选条件显示单元还用于以可视化方式将与/或运算符选项提供给用户;用户接口单元还用于响应于用户输入,接收用户选择的与/或运算符选项;数据清洗单元还用于根据接收的与/或运算符选项,将所述单列运算逻辑、多列运算逻辑和双列范围逻辑通过与/或运算符的组合,并对所述单列运算逻辑、多列运算逻辑和双列范围逻辑的计算结果执行相应的与/或运算。

在一个实施例中,筛选条件显示单元还用于以可视化方式将优先级选项提供给用户;用户接口单元还用于响应于用户输入,接收用户选择的优先级选项;数据清洗单元还用于根据接收的优先级选项,在单列运算逻辑、多列运算逻辑和双列范围逻辑通过与/或运算符的组合中设置优先级顺序,并按照所设置的优先级顺序,对单列运算逻辑、多列运算逻辑和双列范围逻辑的计算结果执行相应的与/或运算。

通过本发明提供的方法和系统,能够通过完全可视化的方式使用户能够轻松地对二维数据进行清洗,提高了效率。

应当理解的是,以上的一般性描述和后文的详细描述仅是示例性的,并不能限制本发明。

附图说明

下面将参照附图详细描述本发明的示例实施例,本发明的上述和其它目标、特征和优点将变得更加显而易见。

图1是根据本发明的一个示例性实施例的二维数据清洗方法的流程图。

图2具体示出了图1所示的实施例中的接收并解析承载二维数据的文件的流程图。

图3具体示出了图1所示的实施例中的数据清洗部分的示意性框图。

图4具体示出了图1所示的实施例中的导出文件的流程图。

图5-图9示出了本发明的示例性实施例中的使用可视化用户界面选择筛选条件和筛选方式的例子。

图10示出了适于用来实现本发明的一个示例性实施例的数据清洗设备的计算机设备100的结构示意图。

图11示出了根据本发明的一个示例性实施例的系统框图。

图12示出了根据本发明的一个示例性实施例的原始数据的一个例子。

图13示出了根据本发明的删除重复数据的一个例子。

图14示出了根据本发明的单列运算逻辑清洗数据的一个例子。

图15示出了根据本发明的多列运算逻辑清洗数据的一个例子。

图16示出了根据本发明的双列范围逻辑清洗数据的一个例子。

图17示出了本发明的另一个实例的数据清洗结果。

具体实施方式

现将参考附图更全面地描述本发明的示例性实施例。应理解,本文中的示例性实施例仅是提供用来帮助理解本发明,而不应以任何形式限制本发明。提供这些实施例是为了使本发明的描述更加全面和完整,并将示例性实施例的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,本文描述的特征、结构或优点可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略特定细节中的一个或多个,或者可以采用其它等效的方法、方式、装置、步骤等来代替。为了简明起见,对于本领域中公知的结构、方法、装置、实现或者操作,将不再赘述。

在以下对示例性实施例的详细描述中,将使用excel文件作为承载二维数据的文件格式作为例子进行说明。但应理解,本发明的技术方案不仅适用于excel文件,而是根据实际应用需要,可应用于可承载或者包含有二维数据的任何文件格式。常用的二维表格形式的文件类型包括但不限于后缀名为例如,“.xls”或“.xlsx”的excel文件,后缀名为例如“.csv”等的文本文件。另外,在以下示例性实施例中,由计算机处理器来执行本发明的方法,但应理解,该方法同样可以由操作系统为windows7+、macos、linux的平板电脑、膝上型电脑、个人数字助理、智能手机或任何具有处理器或微处理器的电子设备来执行。

下面将结合附图详细解释本发明的示例性实施例。图1示出了根据本发明的一个实施例的二维数据清洗方法的流程图。

如图1所示,在步骤s101,处理器接收用户输入的文件,该文件承载着需要进行数据清洗的二维数据,并将该文件中的二维数据解析为所需的格式。在下文中,将结合图2对该步骤进行详细解释。

在步骤s102,处理器接收用户选择的筛选条件;并且在步骤s103,接收用户选择的筛选方式。

在步骤s104,处理器根据用户选择的筛选条件和筛选方式来执行数据清洗。在下文中将会参照图3更加详细地解释。

在步骤s105,将执行数据清洗后的二维数据转换为承载数据的文件所需的格式,最后,生成并导出文件,导出的文件中承载着完成数据清洗后的二维数据。以下将结合图4对该步骤做出更加详细的说明。

根据以上所描述的示例性的本发明的数据清洗方法,通过以可视化的方式将供选择的筛选条件和筛选方式提供给用户,并响应于用户输入,接收用户选择的筛选条件和筛选方式,处理器或数据清洗系统能够自动地根据所选的筛选条件和筛选方式对二维数据进行清洗;并将清洗后的二维数据转换为承载数据的文件所需的格式,从而生成并输出文件。由此,以上实施例提供了一种以可视化的方式执行用户清洗的方法,其具有容易操作、功能多样、效率高等特点。

为了便于理解,下面将结合实例对图1所示的示例性方法展开详细说明。图2具体示出了实现图1中接收并解析承载二维数据的文件的步骤s101的处理流程图。在图2所示的处理中,使用excel文件作为承载二维数据的文件格式作为例子。应理解,本发明的技术方案不仅适用于excel文件,而是根据实际应用需要,可应用于可承载或者包含有二维数据的任何文件格式。

如图2所示,在接收到用户导入的文件时,在步骤s202,判断该文件是否是excel文件;如果是,则处理继续前进到步骤s203,判断excel数据是否符合要求,例如,首行为字段名且无合并单元格;如果否,则返回步骤s201,重新接收导入的文件。在步骤s203,如果判断为是,则处理继续进行到步骤s204,将文件中的二维数据解析为json数据,并且该接收和解析文件的处理结束;如果否,则处理返回步骤s201。在该实例中,通过js-xlsx库将用户输入的excel文件解析为工具可用的json数据。应理解,根据需要,可使用其它解析库,并且二维数据可以被解析为其它格式。

现返回图1,在完成步骤s101后,该方法前进到步骤s102,处理器接收用户选择的筛选条件;并且在步骤s103,接收用户选择的筛选方式。

图5-9示出了本发明的示例性实施例中的以可视化方式提供筛选条件和筛选方式选项给用户的例子。如图5-9所示,提供给用户的筛选条件包括单列运算逻辑、多列运算逻辑、双列范围逻辑等,用户通过为每一项逻辑提供的选项来选择该逻辑执行的列、满足的条件(例如,大于、小于等)以及数值。用户可以选择单列运算逻辑、多列运算逻辑和双列范围逻辑之间的组合方式,例如,通过“与”运算符(图5-9中的“且”选项),或者,“或”运算符(图中未示出)来进行组合,并且可以对逻辑之间的运算进行编组以指定优先级顺序(图5-9中的“编组”选项)。用户可以通过点击屏幕右上角的保留和剔除选项来选择筛选方式。当用户选择的筛选方式为保留时,意味着清洗数据时将会保留满足筛选条件的数据,而在用户选择的筛选方式为剔除时,则将会剔除满足筛选条件的数据。

接下来,将参考图3描述图1中根据选择的筛选条件和筛选方式进行数据清洗的示意性框图。

如图3所示,如301处所示,响应于用户输入,接收解析后的数据、用户输入的筛选条件和筛选方式。在301中,根据本发明的一个实施例,提供给用户的可选的筛选条件包括单列运算逻辑、多列运算逻辑和双列范围逻辑、与/或运算符,以及优先级选项;可供用户选择的筛选方式包括“剔除”和“保留”。

下面首先对各种筛选条件选项进行解释。

单列运算逻辑通过判断单列的数据是否满足筛选条件来清洗数据。例如,在图5所示的实施例中,以可视化方式提供给用户的单列运算逻辑筛选条件包括以下组中的至少一项:小于、小于或等于、大于、大于或等于、等于、不等于、包含、不包含、开头字符、结束字符、正则表达式、为空、不为空等。例如,单列运算逻辑可以是判断某列成员的年龄是否大于18岁。

多列运算逻辑通过对多列数据进行指定的运算,然后判断运算后的结果是否满足筛选条件来清洗数据。在图6所示的实施例中,以可视化方式提供给用户的多列运算逻辑筛选条件包括以下组中的至少一项:相加、相减、相乘、相除、求余、时间相减、字符串拼接等。多列运算逻辑,是对多列执行指定的运算,如,字符串相加(拼接),相乘等后,再进行判断。例如,判断某列的字段a(姓)和字段b(名)拼接后是否为“张三”。

双列范围逻辑是对用户选择的两列之间的范围内的多列数据,同时判断每列数据是否满足筛选条件来清洗数据。例如,判断第3至第10列的数值是否存在有n列(n由用户指定)大于18。图7和图8示出了可视化界面的一个例子。如图7所示,用户可以首先选择两列的范围,例如,jm列,则意味着以下操作在j和m两列之间的多列数据中展开。接着,用户选择以可视化方式提供的选项:满足1列、满足2列……满足全部列中的一项,然后在图8所示的屏幕上选择以下组中的至少一项:小于、小于或等于、大于、大于或等于、等于、不等于、包含、不包含、开头字符、结束字符、正则表达式、为空、不为空等。这样,可以完成对双列范围逻辑的设置。

根据本发明的一个实施例,用户在输入筛选条件时,可以通过在下拉菜单中点击可选项来选择筛选条件,并对每个筛选条件及各筛选条件之间的组合方式进行编辑。在本发明的一个实施例中,单列运算逻辑、多列运算逻辑和双列范围逻辑通过与/或运算符,或者优先级选项来任意组合。用户通过点击“添加”功能按钮,可以增加单列运算逻辑、多列运算逻辑和双列范围逻辑中的一个或多个,从而实现对筛选条件的进一步编辑。

图9示出了对单列运算逻辑、多列运算逻辑和双列范围逻辑指定与运算符(即,“且”选项)和优先级选项的一个例子。如本领域技术人员公知的,与运算的优先级比或运算要高。如果用户希望使或运算的优先级更高,则可以将执行或运算的两个筛选条件添加到同一个组别中。例如,在如图9所示的例子中,a组别的优先级被定义为最高,其次是b、c、d、e。举例来说,在单列运算逻辑和多列运算逻辑之间为“或”的关系(图中未示出),然后与双列范围逻辑之间为与(“且”选项)的关系的情况下,需要先执行单列运算逻辑和多列运算逻辑之间的或运算,用户可以通过图9所示的“组别”下拉菜单,分别将单列运算逻辑和多列运算逻辑的“组别”选择为“a”,这样,这两个逻辑之间的运算将会以最高优先级被执行,然后才执行下一优先级(例如,组别b)的运算。

现返回图3,在302处,根据用户选择的筛选条件和筛选方式来执行数据清洗。在用户选择了单列运算逻辑时,计算机或处理器判断单列的数据是否满足筛选条件;当选择了多列运算逻辑时,通过对多列数据进行指定的运算,然后判断运算后的结果是否满足筛选条件;当选择了双列范围逻辑时,对用户选择的两列之间的范围内的多列数据,同时判断每列数据是否满足筛选条件。然后,计算机或处理器依用户指定的优先级顺序,根据用户选择的单列运算逻辑、多列运算逻辑和双列范围逻辑之间的与/或运算符,对单列运算逻辑、多列运算逻辑和双列范围逻辑中每项的计算结果进行运算。最后,根据用户选择的“保留”还是“剔除”,相应地将满足运算结果的数据进行保留或者剔除。

现返回图1,在如上所述地执行了根据选择的筛选条件和筛选方式进行数据清洗之后,图1的方法前进到步骤s105,基于清洗后的数据生成并导出数据清洗后的文件。下面将参考图4具体描述图1中的步骤s105。

在图4中,仍然以excel文件格式为例进行说明。如图4所示,在步骤s401,将清洗后的数据转换成excel所需的数据格式,并生成excel文件。然后,处理前进到步骤s402,导出excel文件。

应理解,以上参照图1-4所描述的方法仅是示例性的,其中的方法步骤的顺序可以改变,并且其中某些步骤可以根据实际需要而省略,或添加额外的步骤。

本发明还提供一种数据清洗设备。下面参考图10,其示出了适于用来实现本发明的一个示例性实施例的数据清洗设备的计算机设备100的结构示意图。图10示出的设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图10所示,计算机设备100包括中央处理单元(cpu)101,其可以根据存储在只读存储器(rom)102中的程序或者从存储部分108加载到随机访问存储器(ram)103中的程序而执行各种适当的动作和处理。在ram103中,还存储有系统100操作所需的各种程序和数据。cpu101、rom102以及ram103通过总线104彼此相连。输入/输出(i/o)接口105也连接至总线104。

以下部件连接至i/o接口105:包括键盘、鼠标等的输入部分106;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分107;包括硬盘等的存储部分108;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分109。通信部分109经由诸如因特网的网络执行通信处理。驱动器110根据需要连接至i/o接口105。可拆卸介质111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器110上,以便于从其上读出的计算机程序根据需要被安装入存储部分108。

特别地,根据本公开的实施例,上文参考图1-4的流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分109从网络上被下载和安装,和/或从可拆卸介质111被安装。在该计算机程序被中央处理单元(cpu)101执行时,执行本申请的系统中限定的上述功能。

需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

根据本发明的另一方面,提供了一种二维数据清洗系统,包括:文件接收单元,其接收承载二维数据的文件;数据解析单元,其将所接收的文件解析为预定格式的二维数据;用户接口单元,其以可视化方式将筛选条件和筛选方式提供给用户,并响应于用户输入,接收用户选择的筛选条件和筛选方式;数据清洗单元,其根据筛选条件和筛选方式对二维数据进行清洗;以及文件导出单元,其将清洗后的二维数据转换为承载二维数据的文件所需的格式,并生成完成数据清洗后的文件。以上单元可以通过软件或硬件实现,其中某些单元可以集成在一起。

图11示出了根据本发明的一个示例性实施例的系统框图。在图11所示的实施例中,文件接收单元、文件导出单元可以由用户接口单元来实现,也就是说,用户通过用户接口单元来导入文件、输入筛选条件和筛选方式,并输出数据清洗后的文件。

在图11所示的实施例中,该二维数据清洗系统包括用户接口单元、文件解析单元、数据清洗单元和文件生成单元。该系统的用户界面,例如,可以实现成如图5-9所示。在运行该系统时,首先,用户通过用户接口单元导入承载二维数据的文件,该文件在文件解析单元处被解析成预定的格式的二维数据,例如,json数据。用户可通过用户接口单元输入或选择筛选条件和筛选方式,根据用户输入的筛选条件和筛选方式,解析后的数据在数据清洗单元被处理。处理后的数据,即,完成了数据清洗的数据在文件生成单元处按照所需文件格式生成要输出的文件,并通过用户接口单元输出生成的文件。

用户通过用户接口单元输入筛选条件时,例如,通过图5-9所示的界面,以可视化方式提供给用户筛选条件和筛选条件组合方式的可选项。筛选条件可包括单列运算逻辑、多列运算逻辑和双列范围逻辑。单列运算逻辑筛选条件包括以下组中的至少一项:小于、小于或等于、大于、大于或等于、等于、不等于、包含、不包含、开头字符、结束字符、正则表达式、为空、不为空等。例如,单列运算逻辑可以是判断某列成员的年龄是否大于18岁。多列运算逻辑通过对多列数据进行指定的运算,然后判断运算后的结果是否满足筛选条件来清洗数据。在图5所示的实施例中,以可视化方式提供给用户的多列运算逻辑筛选条件包括以下组中的至少一项:相加、相减、相乘、相除、求余、时间相减、字符串拼接等。例如,判断某列的字段a(姓)和字段b(名)拼接后是否为“张三”。双列范围逻辑是对用户选择的两列之间的范围内的多列数据,同时判断每列数据是否满足筛选条件来清洗数据。例如,判断第3至第10列的数值是否存在有n列(n由用户指定)大于18。

用户可通过可视化的用户界面选择筛选方式。例如,参考图5的实例,用户在输入筛选条件时,可以通过在下拉菜单中点击可选项来选择筛选条件,并对每个筛选条件及各筛选条件之间的组合方式进行编辑。在本发明的一个实施例中,单列运算逻辑、多列运算逻辑和双列范围逻辑中的两个或三个筛选条件在组合时,可以通过与/或运算符,或指定优先级选项来任意组合。并且,在该实施例中,如图5所示,通过用户交互,例如,用户通过点击“添加”按钮,可以增加或减少单列运算逻辑、多列运算逻辑和双列范围逻辑中的一个或多个,从而实现对筛选条件的编辑。

在本发明的一个实施例中,该方法还包括以可视化方式将筛选方式提供给用户,并接收用户选择的筛选方式。筛选方式可包括保留和剔除。当用户选择的筛选方式为保留时,将满足筛选条件的数据保留;并且在用户选择的筛选方式为剔除时,将满足筛选条件的数据剔除。

数据清洗单元根据用户指定的筛选条件及其组合方式,并根据用户选择的筛选方式,生成清洗后的数据。

接下来,将参考图12-17,通过实例的方式来说明根据本发明的数据清洗方法、设备和系统的操作。

图12示出了原始数据的一个例子。在该图中,可以看到,作为例子的二维数据表格共14行,包含13条数据。该13条数据包括编号为1-10的数据,其中的重复项分别是编号为2、3、8的数据。该表格每一列(编号为a、b、c、d……m)存储着每行数据的各种信息,例如,编号、开始时间、结束时间、客户端信息、姓名、年龄、性别、最近一个月的网购消费金额、你最常去的网站是、配送时间可灵活选择、物流查询方便、货物包装完整、快递员态度好等等。

根据一个实施例,可选地,可以执行删除重复数据的操作。当删除重复数据时,需要用户指定哪些列,如,“身份证”列。删除重复数据后的结果如图13所示,可以看到,其中编号为2、3、8的重复数据被去除了。根据另一个实施例,删除重复数据的操作在数据筛选的最后执行,以避免误删除满足筛选条件的数据。

图14示出了使用本发明的数据清洗系统来执行单列运算逻辑清洗数据的一个例子。例如,根据用户在交互界面上的选择,剔除(即,用户选择的筛选方式为剔除)第i列(“你最常去的电商网站是?”)为空的数据,得到的结果如图14所示。从图13中可以看到,第i列为空的数据为编号为6和9的数据;在图14中,这两行数据已经被剔除,剩下编号为1-5、7-8和10的数据。

图15示出了根据本发明的多列运算逻辑清洗数据的一个例子。例如,从图13所示的数据中,剔除第i列(“你最常去的电商网站是?”)为空,且保留第j、k、l、m列的总分大于或等于36的数据,其结果如图14所示。可以看到,第i列为空的编号为6和9的数据被剔除后,剩余的编号为1-5、7-8和10的数据的第j、k、l、m列总分大于等于36的数据包括编号为5和10的数据。因此,在图15中,可以看到,数据清洗后的结果仅保留了编号为5和10的数据。

下面结合图16的实例来说明本发明的双列范围逻辑。例如,用户要求在图13所示的去除重复数据之后的数据中,剔除第i列(你最常去的电商网站是?)“为空”,且保留第j至m列范围内,至少有2列大于7分的数据,其数据清洗结果如图16所示。首先,从图13的数据中剔除第i列为空的编号为6和9的数据后,剩余的编号为1-5、7-8和10的数据的第j、k、l、m列的分数满足至少2列大于7分的数据包括编号为3、8、5和10的数据,如图16中所示,这些列被保留下来,生成了数据清洗后的结果数据。

图17示出了本发明的另一个实例的数据清洗结果,例如,在对图12所示的原始数据去除重复数据之后,保留第i列不为空,且值为“京东”或“天猫”的数据。应理解,以上实例的描述是为了帮助理解本发明,而以任何方式构成对本发明的限制。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以上所描述的方法。可以理解,以上描述的系统、模块、单元或装置可以通过硬件、软件或者软硬件结合的方式来实现,这里不再赘述。该计算机可读存储介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备:接收承载二维数据的文件;将所接收的文件解析为预定格式的二维数据;以可视化方式将筛选条件提供给用户,响应于用户输入,接收用户选择的筛选条件;根据所选择的筛选条件对二维数据进行清洗;以及将清洗后的二维数据转换为承载二维数据的文件所需的格式,并生成完成二维数据清洗后的文件。

以上描述的实施例,能够通过完全可视化的方式使用户能够轻松地对二维数据进行清洗,从而大大降低了数据清洗的门槛,提高了效率。使用者既不需要掌握excel自带的筛选命令和函数公式,也不需要具备自己编写vba程序的能力,就可以通过直观的方式完成二维数据清洗的操作。以上描述的实施例还提供了单列运算逻辑、多列运算逻辑和双列范围逻辑三种筛选方式,和多种组合方式,例如,与/或运算符和优先级选项,通过多种方式来任意组合以上三种逻辑,能够实现多种数据清洗功能,满足用户的多种需求。根据本发明的方法和系统适用于多种桌面端操作系统,包括但不限于:windows7及以上、macos和linux等,并能够在这些操作系统上提供一致的操作体验。

以上描述的附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个按顺序示出的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块或单元也可以设置在处理器中,例如,可以描述为:一种处理器包括文件接收模块/单元、数据解析模块/单元、用户接口模块/单元、数据清洗模块/单元和数据导出模块/单元。其中,这些模块或单元的名称在某种情况下并不构成对该单元本身的限定,例如,文件接收单元还可以被描述为“接收承载二维数据的文件的单元”。

本领域技术人员可以理解,上述实施方式的全部或部分步骤可以被实现为由cpu执行的计算机程序或者指令。在该计算机程序被cpu执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。

此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,可以理解,这些处理可以是,例如,在多个单元中同步或异步执行的。

以上具体地示出和描述了本发明的示例性实施方式。应理解,本发明不限于本文描述的详细结构、设置方式或实现方法;本发明的保护范围仅由所附权利要求来定义,涵盖权利要求保护范围内的各种修改和变形。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1