CN111881661B - 基于电子表格的数据处理方法、装置、设备及存储介质 - Google Patents
基于电子表格的数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111881661B CN111881661B CN202010755510.5A CN202010755510A CN111881661B CN 111881661 B CN111881661 B CN 111881661B CN 202010755510 A CN202010755510 A CN 202010755510A CN 111881661 B CN111881661 B CN 111881661B
- Authority
- CN
- China
- Prior art keywords
- source table
- value
- cell
- rule
- storage
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Abstract
本发明涉及一种数据分析技术,揭露一种基于电子表格的数据处理方法,包括:获取源表格及源表格对应的处理模式、配置信息,配置信息包括第一配置信息或第二配置信息;当处理模式为第一模式时,创建包含若干个第一存储位的第一数组,根据第一配置信息从所述源表格中提取数据,并分别将提取的数据存储至第一数组对应的第一存储位;当处理模式为第二模式时,创建包含若干个第二存储位及第三存储位的第二数组,根据第二配置信息从源表格中提取数据,并分别将提取的数据存储至第二数组对应的第二存储位和第三存储位。本发明技术方案可灵活适用于多种应用场景,提高了数据提取及存储的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于电子表格的数据处理方法、装置、电子设备和计算机可读存储介质。
背景技术
随着业务复杂程度加大,越来越多的统计表格要导入数据库,再做清洗转换,以便给其他应用系统提供数据。
目前,常用的统计表格导入数据库的方法是:预先制定电子表格模板文件,再由操作人员手动将需要导入数据库中的统计表格(即源表格)填入电子表格模板文件,接着,按照指定的模板格式对电子表格模板文件进行解析,最后,存入数据库。该方法的缺陷在于,每一个电子表格模板仅适用于一个应用场景,当应用场景发生改变时,需要改变电子表格模板文件及解析该模板文件所需的程序,耗时费力且效率低。
发明内容
本发明的主要目的是提供一种基于电子表格的数据处理方法、装置、电子设备和计算机可读存储介质,旨在提供一种可适用于多种应用场景的电子表格数据处理方法。
为实现上述目的,本发明提供的一种基于电子表格的数据处理方法,该方法包括:
获取源表格及所述源表格对应的处理模式、配置信息,所述配置信息包括第一配置信息或第二配置信息;
当所述处理模式为第一模式时,创建包含若干个第一存储位的第一数组,根据所述第一配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第一数组对应的第一存储位,所述第一配置信息包括各个第一存储位在所述源表格中的取值范围及取值规则;
当所述处理模式为第二模式时,创建包含若干个第二存储位及第三存储位的第二数组,根据所述第二配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第二数组对应的第二存储位和第三存储位,所述第二配置信息包括各个第二存储位及第三存储位在所述源表格中的取值范围、取值规则。
可选地,在所述创建包含若干个第一存储位的第一数组,根据所述第一配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第一数组对应的第一存储位之前,包括:
根据各个第一存储位在源表格中的取值范围,确定各个取值范围对应的单元格数量的最大值N,将N作为所需创建的第一数组的总数量。
可选地,所述创建包含若干个第一存储位的第一数组,根据所述第一配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第一数组对应的第一存储位,包括:
创建包含若干个第一存储位的第j个第一数组,j为正整数,且j≤N;
根据各个第一存储位在所述源表格中的取值范围及取值规则,于所述源表格中查找目标单元格,并从所述目标单元格中提取数据,当提取到数据时,将提取的数据存储至对应的第一存储位。
可选地,所述根据各个第一存储位在所述源表格中的取值范围及取值规则,于所述源表格中查找目标单元格,包括:
当某一个第一存储位在所述源表格中的取值范围为第一预设单元格,且所述取值规则为第一固定取值规则时,将所述第一预设单元格作为目标单元格;
当某一个第一存储位在所述源表格中的取值范围为位于第x1行且位于第y1至y2列的单元格,所述取值规则为第一水平取值规则时,从所述源表格中查找位于第x1行且位于第y1+j-1列的单元格作为目标单元格;
当某一个第一存储位在所述源表格中的取值范围为位于第y3列且位于第x2至x3行的单元格,所述取值规则为第一垂直取值规则时,从所述源表格中查找位于第x2+j-1行且位于第y3列的单元格作为目标单元格。
可选地,所述第二存储位对应的取值范围为所述源表格中位于第c1至c2列且位于第r1至r2行的单元格,其中,c2-c1+1=L,L为大于1的正整数;
所述创建包含若干个第二存储位及第三存储位的第二数组,根据所述第二配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第二数组对应的第二存储位和第三存储位,包括:
将所述源表格中位于第u行且位于第c1+i-1列的单元格作为待处理单元格,第u行为第r1行至第r2行中任意一行,i为列索引,且i为小于或等于L的正整数;
创建第Z个第二数组,所述第Z个第二数组包括一个第二存储位及若干个第三存储位,Z为正整数;
从所述待处理单元格中提取数据,将提取的数据存储至所述第二存储位;
根据各个第三存储位在所述源表格中的取值范围及取值规则,在所述源表格中查找目标单元格,并从所述目标单元格中提取数据,当提取到数据时,将提取的数据存储至对应的第三存储位。
可选地,所述根据各个第三存储位在所述源表格中的取值范围及取值规则,在所述源表格中查找目标单元格,包括:
当某一个第三存储位在所述源表格中的取值范围为第二预设单元格,且所述取值规则为第二固定取值规则时,将所述第二预设单元格作为目标单元格;
当某一个第三存储位在所述源表格中的取值范围为位于第a1行的单元格,且所述取值规则为第二固定取值规则时,从所述源表格中查找出位于第a1行且位于第c1+i列的单元格作为目标单元格;
当某一个第三存储位在所述源表格中的取值范围为位于第b1列的单元格,且所述取值规则为第二固定取值规则时,从所述源表格中查找出位于第u行且位于第b1列的单元格作为目标单元格。
可选地,所述根据所选的第三存储位在源表格中的取值范围及取值规则,在所述源表格中查找目标单元格,还包括:
当某一个第三存储位在所述源表格中的取值范围为位于第a2行的单元格且起始单元格的列号为b2,所述取值规则为第二水平取值规则时,从所述源表格中查找位于第a2行且位于第b2+i-1列的单元格作为目标单元格;
当某一个第三存储位在所述源表格中的取值范围为位于第b3列的单元格且起始单元格的行号为a3,所述取值规则为第二垂直取值规则时,从所述源表格中查找位于第a3+i-1行且位于第b3列的单元格作为目标单元格。
为了解决上述问题,本发明还提供一种基于电子表格的数据处理装置,所述装置包括:
获取模块,用于获取源表格及所述源表格对应的处理模式、配置信息,所述配置信息包括第一配置信息或第二配置信息;
第一提取模块,用于当所述处理模式为第一模式时,创建包含若干个第一存储位的第一数组,根据所述第一配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第一数组对应的第一存储位,所述第一配置信息包括各个第一存储位在所述源表格中的取值范围及取值规则;
第二提取模块,用于当所述处理模式为第二模式时,创建包含若干个第二存储位及第三存储位的第二数组,根据所述第二配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第二数组对应的第二存储位和第三存储位,所述第二配置信息包括各个第二存储位及第三存储位在所述源表格中的取值范围、取值规则。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现上述所述的基于电子表格的数据处理方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的基于电子表格的数据处理方法。
本发明实施例获取源表格及源表格对应的处理模式、配置信息,配置信息包括第一配置信息或第二配置信息;当处理模式为第一模式时,创建包含若干个第一存储位的第一数组,根据第一配置信息从所述源表格中提取数据,并分别将提取的数据存储至第一数组对应的第一存储位;当处理模式为第二模式时,创建包含若干个第二存储位及第三存储位的第二数组,根据第二配置信息从源表格中提取数据,并分别将提取的数据存储至第二数组对应的第二存储位和第三存储位。相较于现有技术,本实施例可根据用户的自定义设置,从源表格中提取数据并存入数组输出,输出的数组可直接进行数据清洗,或直接保存至数据库中,因此,本实施例无需为每一个应用场景制定对应的电子表格模板,可灵活适用于多种应用场景,提高了数据提取及存储的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明一实施例提供的基于电子表格的数据处理方法的流程示意图;
图2为本发明一实施例提供的基于电子表格的数据处理装置的模块示意图;
图3为本发明一实施例提供的实现基于电子表格的数据处理方法的电子设备的内部结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明提供一种基于电子表格的数据处理方法。参照图1所示,为本发明一实施例提供的基于电子表格的数据处理方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,基于电子表格的数据处理方法包括:
步骤S10,获取源表格及所述源表格对应的处理模式、配置信息。
本实施例中,可提供人机交互界面,用户通过该人机交互界面上传源表格,并通过输入框或者选择框为该源表格设置处理模式及配置信息,在用户输入完毕后,获取用户上传的源表格,以及所述源表格对应的处理模式、配置信息。
其中,所述源表格为存储有数据的电子表格,所述源表格包括至少一个数据行及至少一个数据列,每一个数据行中包括多个横向排列的单元格,且每一个数据列中包括多个纵向排列的单元格,所述单元格用于存储数据。
此外,该源表格的格式可以是多样的,本发明对此不作限定。当用户输入的源表格的格式与预设格式(例如,Excel)不同时,可对用户输入的源表格进行格式转换操作,将源表格的格式转换成预设格式。
本实施例中,所述处理模式包括第一模式和第二模式。在一些应用场景中,可根据需要设置其他类型的处理模式,本申请不作限定。
所述配置信息包括第一配置信息或第二配置信息。
当处理模式为第一模式时,所述配置信息包括第一配置信息。
当处理模式为第二模式时,所述配置信息包括第二配置信息。
步骤S20,当所述处理模式为第一模式时,创建包含若干个第一存储位的第一数组,根据所述第一配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第一数组对应的第一存储位。
所述第一配置信息包括各个第一存储位在源表格中的取值范围及取值规则。在一些应用场景中,该第一配置信息还可包括各个第一存储位的标识信息(例如,名称或序号等)。其中,存储位是指预先设置的用于存储数据的存储空间,例如,在由多个单元格组成的数组中,一个单元格即为一个存储位。
上述取值范围可以用源表格中数据的位置信息表示,例如,取值范围为在源表格的第X行,且在第Y列至第Z列的单元格。需要注意的是,上述取值范围的表达方式可以是多样的,本发明对此不作限定。
上述取值规则可以有多种,可预先设置取值规则供用户选择,也可由用户根据具体的应用场景自定义设置。在本实施例中,所述步骤S20可包括:
创建包含若干个第一存储位的第j个第一数组,j为正整数,且j≤N;
根据各个第一存储位在所述源表格中的取值范围及取值规则,于所述源表格中查找目标单元格,并从所述目标单元格中提取数据,当提取到数据时,将提取的数据存储至对应的第一存储位。
例如,所述步骤S20可包括步骤S21~S28(图中未示出),其中:
步骤S21,根据各个第一存储位在源表格中的取值范围,确定各个取值范围对应的单元格数量的最大值N,将N作为所需创建的第一数组的总数量。
例如,若共有3个第一存储位,该3个第一存储位的标识信息分别为F1、F2、F3,其中,F1的取值范围为在源表格的第1行且在第2列的单元格,F2的取值范围为在源表格的第2行且在第3列至第5列的单元格,F3的取值范围为在源表格的第3列且在第2行至第5行的单元格,则F1的取值范围对应的单元格数量为1,F2的取值范围对应的单元格数量为3,F3的取值范围对应的单元格数量为4,通过比较得到各个取值范围对应的单元格数量的最大值N为4。
步骤S22,创建包含若干个第一存储位的第j个第一数组,j为正整数,且j≤N。
步骤S23,判断j是否大于N,若否,则执行步骤S24,若是,则结束流程。
步骤S24,将所述第j个第一数组的所有第一存储位放入预先设置的第一待选集合中。
步骤S25,从所述第一待选集合中选择一个第一存储位。
在本实施例中,可以按照预先确定的顺序逐一选择第一存储位,例如,预先为各个第一存储位编号(如,F1、F2、F3、F4),按照第一存储位编号中数字从小到大的顺序,逐一选择第一存储位。
步骤S26,根据所选的第一存储位在所述源表格中的取值范围及取值规则,于所述源表格中查找目标单元格,并从所述目标单元格中提取数据,当提取到数据时,将提取的数据存储至所选的第一存储位中。
在本实施例中,所述根据所选的第一存储位在所述源表格中的取值范围及取值规则,于所述源表格中查找目标单元格,包括步骤S261~S263(图中未示出),其中:
步骤S261,当所选的第一存储位在所述源表格中的取值范围为第一预设单元格,且所述取值规则为第一固定取值规则时,将所述第一预设单元格作为目标单元格。
步骤S262,当所选的第一存储位在所述源表格中的取值范围为位于第x1行且位于第y1至y2列的单元格,所述取值规则为第一水平取值规则时,从所述源表格中查找位于第x1行且位于第y1+j-1列的单元格作为目标单元格。
步骤S263,当所选的第一存储位在所述源表格中的取值范围为位于第y3列且位于第x2至x3行的单元格,所述取值规则为第一垂直取值规则时,从所述源表格中查找位于第x2+j-1行且位于第y3列的单元格作为目标单元格。
进一步地,在本实施例中,所述根据所选的第一存储位在所述源表格中的取值范围及取值规则,于所述源表格中查找目标单元格,还包括:
步骤S264(图中未示出),当所述取值规则为第一自定义取值规则时,获取所选的第一存储位对应的取值范围,当获取的取值范围为一个第一预设数据时,将所述第一预设数据作为提取的数据。
步骤S27,判断所述第一待选集合中是否存在未被选择过的第一存储位,当存在时,返回继续执行步骤S25,当不存在时,执行步骤S28。
步骤S28,输出所述第j个第一数组,并将j的数值增加1,返回执行步骤S23。
进一步地,在本实施例中,在所述根据所选的第一存储位在所述源表格中的取值范围及取值规则,于所述源表格中查找目标单元格,并从所述目标单元格中提取数据之后,还包括:
步骤S29(图中未示出),当未提取到数据时,将所选的第一存储位设置为空值,或者,按照预先确定的赋值规则,为所选的第一存储位赋值。
步骤S30,当所述处理模式为第二模式时,创建包含若干个第二存储位及第三存储位的第二数组,根据所述第二配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第二数组对应的第二存储位和第三存储位。
所述第二配置信息包括各个第二存储位及第三存储位在源表格中的取值范围及取值规则。在一些应用场景中,该配置信息还可包括各个第二存储位及第三存储位的标识信息(例如,名称或序号等)。
例如,所述第二存储位对应的取值范围为所述源表格中位于第c1至c2列且位于第r1至r2行的单元格,其中,c2-c1+1=L,r2-r1+1=M,L、M均为大于1的正整数,即所述第二存储位对应的取值范围包含的单元格共有L列、M行。
所述步骤S30包括:将所述源表格中位于第u行且位于第c1+i-1列的单元格作为待处理单元格,第u行为第r1行至第r2行中任意一行,i为列索引,且i为小于或等于L的正整数;创建第Z个第二数组,所述第Z个第二数组包括一个第二存储位及若干个第三存储位,Z为正整数;从所述待处理单元格中提取数据,将提取的数据存储至所述第二存储位;根据各个第三存储位在所述源表格中的取值范围及取值规则,在所述源表格中查找目标单元格,并从所述目标单元格中提取数据,当提取到数据时,将提取的数据存储至对应的第三存储位。
例如,步骤S30可包括S301~S310(图中未示出),其中:
步骤S301,将所述源表格中第u行作为待处理行,并将u设置为r1。
步骤S302,判断u是否大于r2,若否,则执行步骤S303,若是,则执行步骤S310。
步骤S303,生成列索引i,将所述i设置为1,并构建第Z个第二数组,Z=(u-r1)×L+i。
步骤S304,判断i是否大于L,若否,则执行步骤S305,若是,则将u的数值增加1,并返回执行步骤S302。
步骤S305,将所述源表格中位于第u行且位于第c1+i-1列的单元格作为待处理单元格,从所述待处理单元格中提取数据,并将提取的数据存储至所述第Z个第二数组的第二存储位中。
步骤S306,将所述第Z个第二数组中所有第三存储位放入预先设置的第二待选集合中。
步骤S307,从所述第二待选集合中选择一个第三存储位。
在本实施例中,可以按照预先确定的顺序逐一选择第三存储位,例如,预先为各个第三存储位编号(如,F2、F3、F4),按照第三存储位编号中数字从小到大的顺序,逐一选择第三存储位。
步骤S308,根据所选的第三存储位在所述源表格中的取值范围及取值规则,在所述源表格中查找目标单元格,并从所述目标单元格中提取数据,当提取到数据时,将提取的数据存储至所选的第三存储位中。
在本实施例中,所述根据所选的第三存储位在所述源表格中的取值范围及取值规则,在所述源表格中查找目标单元格,包括S308a~S308g(图中未示出),其中:
步骤S308a,当所选的第三存储位在所述源表格中的取值范围为某一个第二预设单元格,且所述取值规则为第二固定取值规则时,将所述第二预设单元格作为目标单元格。
步骤S308b,当所选的第三存储位在所述源表格中的取值范围为位于第a1行的单元格,且所述取值规则为第二固定取值规则时,从所述源表格中查找出位于第a1行且位于第c1+i列的单元格作为目标单元格。
步骤S308c,当所选的第三存储位在所述源表格中的取值范围为位于第b1列的单元格,且所述取值规则为第二固定取值规则时,从所述源表格中查找出位于第u行且位于第b1列的单元格作为目标单元格。
步骤S308d,当所选的第三存储位在所述源表格中的取值范围为位于第a2行的单元格且起始单元格的列号为b2,所述取值规则为第二水平取值规则时,从所述源表格中查找位于第a2行且位于第b2+i-1列的单元格作为目标单元格。
其中,a2可以是一个固定值,也可以是动态值,例如,a2=u。
例如,当用户输入取值范围为:a2=x,b2=y,x、y代表具体数值,且所述取值规则为第二水平取值规则时,从所述源表格中查找行号为x,且列号为y+i-1的单元格作为目标单元格。
当用户输入取值范围为:a2=x,b2为空,x代表具体数值,且所述取值规则为第二水平取值规则时,从所述源表格中查找行号为x,且列号为c1+i-1的单元格作为目标单元格。
当用户输入取值范围为:a2为空,b2为y,y代表具体数值,且所述取值规则为第二水平取值规则时,从所述源表格中查找行号为u,且列号为y+i-1的单元格作为目标单元格。
步骤S308e,当所选的第三存储位在所述源表格中的取值范围为位于第b3列的单元格且起始单元格的行号为a3,所述取值规则为第二垂直取值规则时,从所述源表格中查找位于第a3+i-1行且位于第b3列的单元格作为目标单元格。
其中,a3可以是一个固定值,也可以是动态值,例如,a3=u。
例如,当用户输入取值范围为:a3=x,b3=y,x、y代表具体数值,且所述取值规则为第二垂直取值规则时,从所述源表格中查找行号为x+i-1,且列号为y的单元格作为目标单元格。
当用户输入取值范围为:a3=x,b3为空,x代表具体数值,且所述取值规则为第二垂直取值规则时,从所述源表格中查找行号为x+i-1,且列号为c1的单元格作为目标单元格。
当用户输入取值范围为:a3为空,b3为y,y代表具体数值,且所述取值规则为第二垂直取值规则时,从所述源表格中查找行号为u+i-1,且列号为y的单元格作为目标单元格。
步骤S308f,当所述取值规则为第二自定义取值规则时,从所选的第三存储为在原表格中的取值范围中获取所述索引i对应的取值范围。
步骤S308g,当获取的取值范围为一个第三预设单元格时,从所述源表格中查找出第三预设单元格作为目标单元格。
进一步地,所述步骤S308还包括:
步骤S308h(图中未示出),当所述取值规则为第二自定义取值规则时,获取索引i对应的取值范围,当获取的取值范围为一个第二预设数据时,将所述第二预设数据作为提取的数据。
进一步地,在所述根据所选的第三存储位在所述源表格中的取值范围及取值规则,在所述源表格中查找目标单元格,并从所述目标单元格中提取数据之后,还包括:
步骤S308i(图中未示出),当未提取到数据时,将所选的第三存储位设置为空值,或者,按照预先确定的赋值规则,为所选的第三存储位赋值。
S309,判断所述第二待选集合中是否存在未被选择过的第三存储位,当存在时,返回继续执行步骤S307,当不存在时,将i的数值增加1,并返回执行步骤S304。
S310、输出所述第Z个第二数组。
需要注意的是,上述x1、x2、x3、y1、y2、y3、c1、c2、r1、r2等均可根据具体的应用场景设置对应的值,本发明对此不作限定。
本实施例获取源表格及源表格对应的处理模式、配置信息,配置信息包括第一配置信息或第二配置信息;当处理模式为第一模式时,创建包含若干个第一存储位的第一数组,根据第一配置信息从所述源表格中提取数据,并分别将提取的数据存储至第一数组对应的第一存储位;当处理模式为第二模式时,创建包含若干个第二存储位及第三存储位的第二数组,根据第二配置信息从源表格中提取数据,并分别将提取的数据存储至第二数组对应的第二存储位和第三存储位。相较于现有技术,本实施例可根据用户的自定义设置,从源表格中提取数据并存入数组输出,输出的数组可直接进行数据清洗,或直接保存至数据库中,因此,本实施例无需为每一个应用场景制定对应的电子表格模板,可灵活适用于多种应用场景,提高了数据提取及存储的效率。
进一步地,在本实施例中,所述当提取到数据时,将提取的数据存储至所选的第一存储位中,可替换为:
当提取到数据时,利用预先确定的正则表达式对提取的数据进行处理,将处理后的数据存储至所选的第一存储位中。
进一步地,所述当提取到数据时,将提取的数据存储至所选的第三存储位中,可替换为:
当提取到数据时,利用预先确定的正则表达式对提取的数据进行处理,将处理后的数据存储至所选的第三存储位中。
本实施例可通过正则表达式对提取的数据进行二次处理,适用于一些业务环节更为复杂的应用场景,从而进一步提高了数据提取的效率及灵活性。
进一步地,本实施例中,所述步骤S29、S308i中的赋值规则包括:
1、复制上格规则,包括:选择所述目标单元格在所述源表格中的上一个单元格的数据进行赋值。
2、复制下格规则,包括:选择所述目标单元格在所述源表格中的下一个单元格的数据进行赋值。
3、复制左格规则,包括:选择所述目标单元格在所述源表格中的左一个单元格的数据进行赋值。
4、复制右格规则,包括:选择所述目标单元格在所述源表格中的右一个单元格的数据进行赋值。
本实施例通过设置具体的赋值规则,从而进一步提高了数据提取的灵活性。
此外,需要强调的是,为进一步保证上述源表格、第一数组、第二数组的私密和安全性,上述源表格、第一数组、第二数组还可以存储于一区块链的节点中。
为了帮助理解,下面通过两个实例分别展示第一模式和第二模式下的数据提取过程。
如表1所示,是一个源表格的示例。
表1:
在例一中,所述源表格对应的处理模式为第一模式,所述源表格对应的配置信息包括第一配置信息,所述第一配置信息可参照如下表示方式:
“第一垂直取值规则,(F1,3,空,1)”表示第一存储位F1的取值规则为第一垂直取值规则,取值范围为位于第3行至第7行,且位于第1列的单元格。
“第一垂直取值规则,(F2,3,空,2)”表示第一存储位F2的取值规则为第一垂直取值规则,取值范围为位于第3行至第7行,且位于第2列的单元格。
“第一垂直取值规则,(F3,3,空,3)”表示第一存储位F3的取值规则为第一垂直取值规则,取值范围为位于第3行至第7行,且位于第3列的单元格。
“第一垂直取值规则,(F4,3,空,4)”表示第一存储位F4的取值规则为第一垂直取值规则,取值范围为位于第3行至第7行,且位于第4列的单元格。
“第一垂直取值规则,(F5,3,空,5)”表示第一存储位F5的取值规则为第一垂直取值规则,取值范围为位于第3行至第7行,且位于第5列的单元格。
“第一垂直取值规则,(F6,3,空,6)”表示第一存储位F6的取值规则为第一垂直取值规则,取值范围为位于第3行至第7行,且位于第6列的单元格。
“第一固定取值规则,(F7,1,2)”表示第一存储位F7的取值规则为第一固定取值规则,取值范围为位于第1行,且位于第2列的单元格。
“第一固定取值规则,(F8,2,2)”表示第一存储位F8的取值规则为第一固定取值规则,取值范围为位于第2行,且位于第2列的单元格。
“第一固定取值规则,(F9,2,3)”表示第一存储位F9的取值规则为第一固定取值规则,取值范围为位于第2行,且位于第3列的单元格。
“第一固定取值规则,(F10,1,4)”表示第一存储位F10的取值规则为第一固定取值规则,取值范围为位于第1行,且位于第4列的单元格。
“第一固定取值规则,(F11,2,4)”表示第一存储位F11的取值规则为第一固定取值规则,取值范围为位于第2行,且位于第4列的单元格。
“第一固定取值规则,(F12,2,5)”表示第一存储位F12的取值规则为第一固定取值规则,取值范围为位于第2行,且位于第5列的单元格。
“第一固定取值规则,(F13,2,6)”表示第一存储位F13的取值规则为第一固定取值规则,取值范围为位于第2行,且位于第6列的单元格。
基于上述源表格及上述第一配置信息,执行步骤S21~28,得到如表2所示的第一数组。
表2:
从表2可知,本实施例通过第一存储位F7~F13实现了对源表格中任意一组数据进行标注,可为后续进行数据清洗提供便利。
请再次参照图2中的源表格,在例二中,该源表格对应的处理模式为第二模式。预先设置第二存储位F01对应的取值范围为所述源表格中位于第2至5列且位于第3至5行的单元格。预先设置第三存储位F020~F011的取值范围及取值规则如下:
“F02,第二固定取值规则,(3,1)”表示第三存储位F02的取值规则为第二固定取值规则,取值范围为位于第3行且位于第1列的单元格。
“F03,第二固定取值规则,(空,1)”表示第三存储位F03的取值规则为第二固定取值规则,取值范围为位于第1列的单元格。
“F04,第二固定取值规则,(3,空)”表示第三存储位F04的取值规则为第二固定取值规则,取值范围为位于第3行的单元格。
“F05,第二水平取值规则,(3,1)”表示第三存储位F05的取值规则为第二水平取值规则,取值范围为a2=3,b2=1。
“F06,第二水平取值规则,(空,1)”表示第三存储位F06的取值规则为第二水平取值规则,取值范围为a2为空,b2=1。
“F07,第二水平取值规则,(3,空)”表示第三存储位F07的取值规则为第二水平取值规则,取值范围为a2=3,b2为空。
“F08,第二垂直取值规则,(3,1)”表示第三存储位F08的取值规则为第二垂直取值规则,取值范围为a3=3,b3=1。
“F09,第二垂直取值规则,(空,1)”表示第三存储位F09的取值规则为第二垂直取值规则,取值范围为a3为空,b3=1。
“F010,第二垂直取值规则,(3,空)”表示第三存储位F010的取值规则为第二垂直取值规则,取值范围为a3=3,b3为空。
“F011,第二自定义取值规则,(2,2),(2,3),(空,4),(常量2020)”表示第三存储位F011的取值规则为第二自定义取值规则,i=1对应的取值范围为位于第2行且位于第2列的单元格,i=2对应的取值范围为位于第2行且位于第3列的单元格,i=3对应的取值范围为位于第u行且位于第4列的单元格,i=1对应的取值范围为常量2020。
基于上述源表格及上述第二配置信息,执行步骤S301~S308,得到如表3所示的第二数组。
表3:
从表3可知,本实施例通过第一存储位F02~F011实现了对源表格中任意一个数据进行标注,可为后续进行数据清洗提供便利。
如图2所示,是本发明基于电子表格的数据处理装置的功能模块图。
本发明所述基于电子表格的数据处理装置100可以安装于电子设备中。根据实现的功能,所述基于电子表格的数据处理装置可以包括获取模块101、第一提取模块102、第二提取模块103。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
获取模块101,用于获取源表格及所述源表格对应的处理模式、配置信息。
本实施例中,可提供人机交互界面,用户通过该人机交互界面上传源表格,并通过输入框或者选择框为该源表格设置处理模式及配置信息,在用户输入完毕后,获取用户上传的源表格,以及所述源表格对应的处理模式、配置信息。
其中,所述源表格为存储有数据的电子表格,所述源表格包括至少一个数据行及至少一个数据列,每一个数据行中包括多个横向排列的单元格,且每一个数据列中包括多个纵向排列的单元格,所述单元格用于存储数据。
此外,该源表格的格式可以是多样的,本发明对此不作限定。当用户输入的源表格的格式与预设格式(例如,Excel)不同时,可对用户输入的源表格进行格式转换操作,将源表格的格式转换成预设格式。
本实施例中,所述处理模式包括第一模式和第二模式。在一些应用场景中,可根据需要设置其他类型的处理模式,本申请不作限定。
所述配置信息包括第一配置信息或第二配置信息。
当处理模式为第一模式时,所述配置信息包括第一配置信息。
当处理模式为第二模式时,所述配置信息包括第二配置信息
第一提取模块102,用于当所述处理模式为第一模式时,创建包含若干个第一存储位的第一数组,根据所述第一配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第一数组对应的第一存储位。
所述第一配置信息包括各个第一存储位在源表格中的取值范围及取值规则。在一些应用场景中,该第一配置信息还可包括各个第一存储位的标识信息(例如,名称或序号等)。其中,存储位是指预先设置的用于存储数据的存储空间,例如,在由多个单元格组成的数组中,一个单元格即为一个存储位。
上述取值范围可以用源表格中数据的位置信息表示,例如,取值范围为在源表格的第X行,且在第Y列至第Z列的单元格。需要注意的是,上述取值范围的表达方式可以是多样的,本发明对此不作限定。
上述取值规则可以有多种,可预先设置取值规则供用户选择,也可由用户根据具体的应用场景自定义设置。
在本实施例中,所述当所述处理模式为第一模式时,创建包含若干个第一存储位的第一数组,根据所述第一配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第一数组对应的第一存储位,可包括:创建包含若干个第一存储位的第j个第一数组,j为正整数,且j≤N;根据各个第一存储位在所述源表格中的取值范围及取值规则,于所述源表格中查找目标单元格,并从所述目标单元格中提取数据,当提取到数据时,将提取的数据存储至对应的第一存储位。
详细地,可包括步骤S21~S28(图中未示出),其中:
步骤S21,根据各个第一存储位在源表格中的取值范围,确定各个取值范围对应的单元格数量的最大值N,将N作为所需创建的第一数组的总数量。
例如,若共有3个第一存储位,该3个第一存储位的标识信息分别为F1、F2、F3,其中,F1的取值范围为在源表格的第1行且在第2列的单元格,F2的取值范围为在源表格的第2行且在第3列至第5列的单元格,F3的取值范围为在源表格的第3列且在第2行至第5行的单元格,则F1的取值范围对应的单元格数量为1,F2的取值范围对应的单元格数量为3,F3的取值范围对应的单元格数量为4,通过比较得到各个取值范围对应的单元格数量的最大值N为4。
步骤S22,创建包含若干个第一存储位的第j个第一数组,j为正整数,且j≤N。
步骤S23,判断j是否大于N,若否,则执行步骤S24,若是,则结束流程。
步骤S24,将所述第j个第一数组的所有第一存储位放入预先设置的第一待选集合中。
步骤S25,从所述第一待选集合中选择一个第一存储位。
在本实施例中,可以按照预先确定的顺序逐一选择第一存储位,例如,预先为各个第一存储位编号(如,F1、F2、F3、F4),按照第一存储位编号中数字从小到大的顺序,逐一选择第一存储位。
步骤S26,根据所选的第一存储位在所述源表格中的取值范围及取值规则,于所述源表格中查找目标单元格,并从所述目标单元格中提取数据,当提取到数据时,将提取的数据存储至所选的第一存储位中。
在本实施例中,所述根据所选的第一存储位在所述源表格中的取值范围及取值规则,于所述源表格中查找目标单元格,包括步骤S261~S263(图中未示出),其中:
步骤S261,当所选的第一存储位在所述源表格中的取值范围为第一预设单元格,且所述取值规则为第一固定取值规则时,将所述第一预设单元格作为目标单元格。
步骤S262,当所选的第一存储位在所述源表格中的取值范围为位于第x1行且位于第y1至y2列的单元格,所述取值规则为第一水平取值规则时,从所述源表格中查找位于第x1行且位于第y1+j-1列的单元格作为目标单元格。
步骤S263,当所选的第一存储位在所述源表格中的取值范围为位于第y3列且位于第x2至x3行的单元格,所述取值规则为第一垂直取值规则时,从所述源表格中查找位于第x2+j-1行且位于第y3列的单元格作为目标单元格。
进一步地,在本实施例中,所述根据所选的第一存储位在所述源表格中的取值范围及取值规则,于所述源表格中查找目标单元格,还包括:
步骤S264(图中未示出),当所述取值规则为第一自定义取值规则时,获取所选的第一存储位对应的取值范围,当获取的取值范围为一个第一预设数据时,将所述第一预设数据作为提取的数据。
步骤S27,判断所述第一待选集合中是否存在未被选择过的第一存储位,当存在时,返回继续执行步骤S25,当不存在时,执行步骤S28。
步骤S28,输出所述第j个第一数组,并将j的数值增加1,返回执行步骤S23。
进一步地,在本实施例中,在所述根据所选的第一存储位在所述源表格中的取值范围及取值规则,于所述源表格中查找目标单元格,并从所述目标单元格中提取数据之后,还包括:
步骤S29(图中未示出),当未提取到数据时,将所选的第一存储位设置为空值,或者,按照预先确定的赋值规则,为所选的第一存储位赋值。
第二提取模块103,用于当所述处理模式为第二模式时,创建包含若干个第二存储位及第三存储位的第二数组,根据所述第二配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第二数组对应的第二存储位和第三存储位。
所述第二配置信息包括各个第二存储位及第三存储位在源表格中的取值范围及取值规则。在一些应用场景中,该配置信息还可包括各个第二存储位及第三存储位的标识信息(例如,名称或序号等)。
例如,所述第二存储位对应的取值范围为所述源表格中位于第c1至c2列且位于第r1至r2行的单元格,其中,c2-c1+1=L,r2-r1+1=M,L、M均为大于1的正整数,即所述第二存储位对应的取值范围包含的单元格共有L列、M行。
所述创建包含若干个第二存储位及第三存储位的第二数组,根据所述第二配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第二数组对应的第二存储位和第三存储位,包括:将所述源表格中位于第u行且位于第c1+i-1列的单元格作为待处理单元格,第u行为第r1行至第r2行中任意一行,i为列索引,且i为小于或等于L的正整数;创建第Z个第二数组,所述第Z个第二数组包括一个第二存储位及若干个第三存储位,Z为正整数;从所述待处理单元格中提取数据,将提取的数据存储至所述第二存储位;根据各个第三存储位在所述源表格中的取值范围及取值规则,在所述源表格中查找目标单元格,并从所述目标单元格中提取数据,当提取到数据时,将提取的数据存储至对应的第三存储位。
详细地,可包括S301~S310(图中未示出),其中:
步骤S301,将所述源表格中第u行作为待处理行,并将u设置为r1。
步骤S302,判断u是否大于r2,若否,则执行步骤S303,若是,则执行步骤S310。
步骤S303,生成列索引i,将所述i设置为1,并构建第Z个第二数组,Z=(u-r1)×L+i。
步骤S304,判断i是否大于L,若否,则执行步骤S305,若是,则将u的数值增加1,并返回执行步骤S302。
步骤S305,将所述源表格中位于第u行且位于第c1+i-1列的单元格作为待处理单元格,从所述待处理单元格中提取数据,并将提取的数据存储至所述第Z个第二数组的第二存储位中。
步骤S306,将所述第Z个第二数组中所有第三存储位放入预先设置的第二待选集合中。
步骤S307,从所述第二待选集合中选择一个第三存储位。
在本实施例中,可以按照预先确定的顺序逐一选择第三存储位,例如,预先为各个第三存储位编号(如,F2、F3、F4),按照第三存储位编号中数字从小到大的顺序,逐一选择第三存储位。
步骤S308,根据所选的第三存储位在所述源表格中的取值范围及取值规则,在所述源表格中查找目标单元格,并从所述目标单元格中提取数据,当提取到数据时,将提取的数据存储至所选的第三存储位中。
在本实施例中,所述根据所选的第三存储位在所述源表格中的取值范围及取值规则,在所述源表格中查找目标单元格,包括S308a~S308g(图中未示出),其中:
步骤S308a,当所选的第三存储位在所述源表格中的取值范围为某一个第二预设单元格,且所述取值规则为第二固定取值规则时,将所述第二预设单元格作为目标单元格。
步骤S308b,当所选的第三存储位在所述源表格中的取值范围为位于第a1行的单元格,且所述取值规则为第二固定取值规则时,从所述源表格中查找出位于第a1行且位于第c1+i列的单元格作为目标单元格。
步骤S308c,当所选的第三存储位在所述源表格中的取值范围为位于第b1列的单元格,且所述取值规则为第二固定取值规则时,从所述源表格中查找出位于第u行且位于第b1列的单元格作为目标单元格。
步骤S308d,当所选的第三存储位在所述源表格中的取值范围为位于第a2行的单元格且起始单元格的列号为b2,所述取值规则为第二水平取值规则时,从所述源表格中查找位于第a2行且位于第b2+i-1列的单元格作为目标单元格。
其中,a2可以是一个固定值,也可以是动态值,例如,a2=u。
例如,当用户输入取值范围为:a2=x,b2=y,x、y代表具体数值,且所述取值规则为第二水平取值规则时,从所述源表格中查找行号为x,且列号为y+i-1的单元格作为目标单元格。
当用户输入取值范围为:a2=x,b2为空,x代表具体数值,且所述取值规则为第二水平取值规则时,从所述源表格中查找行号为x,且列号为c1+i-1的单元格作为目标单元格。
当用户输入取值范围为:a2为空,b2为y,y代表具体数值,且所述取值规则为第二水平取值规则时,从所述源表格中查找行号为u,且列号为y+i-1的单元格作为目标单元格。
步骤S308e,当所选的第三存储位在所述源表格中的取值范围为位于第b3列的单元格且起始单元格的行号为a3,所述取值规则为第二垂直取值规则时,从所述源表格中查找位于第a3+i-1行且位于第b3列的单元格作为目标单元格。
其中,a3可以是一个固定值,也可以是动态值,例如,a3=u。
例如,当用户输入取值范围为:a3=x,b3=y,x、y代表具体数值,且所述取值规则为第二垂直取值规则时,从所述源表格中查找行号为x+i-1,且列号为y的单元格作为目标单元格。
当用户输入取值范围为:a3=x,b3为空,x代表具体数值,且所述取值规则为第二垂直取值规则时,从所述源表格中查找行号为x+i-1,且列号为c1的单元格作为目标单元格。
当用户输入取值范围为:a3为空,b3为y,y代表具体数值,且所述取值规则为第二垂直取值规则时,从所述源表格中查找行号为u+i-1,且列号为y的单元格作为目标单元格。
步骤S308f,当所述取值规则为第二自定义取值规则时,从所选的第三存储为在原表格中的取值范围中获取所述索引i对应的取值范围。
步骤S308g,当获取的取值范围为一个第三预设单元格时,从所述源表格中查找出第三预设单元格作为目标单元格。
进一步地,所述步骤S308还包括:
步骤S308h(图中未示出),当所述取值规则为第二自定义取值规则时,获取索引i对应的取值范围,当获取的取值范围为一个第二预设数据时,将所述第二预设数据作为提取的数据。
进一步地,在所述根据所选的第三存储位在所述源表格中的取值范围及取值规则,在所述源表格中查找目标单元格,并从所述目标单元格中提取数据之后,还包括:
步骤S308i(图中未示出),当未提取到数据时,将所选的第三存储位设置为空值,或者,按照预先确定的赋值规则,为所选的第三存储位赋值。
S309,判断所述第二待选集合中是否存在未被选择过的第三存储位,当存在时,返回继续执行步骤S307,当不存在时,将i的数值增加1,并返回执行步骤S304。
S310、输出所述第Z个第二数组。
需要注意的是,上述x1、x2、x3、y1、y2、y3、c1、c2、r1、r2等均可根据具体的应用场景设置对应的值,本发明对此不作限定。
本实施例获取源表格及源表格对应的处理模式、配置信息,配置信息包括第一配置信息或第二配置信息;当处理模式为第一模式时,创建包含若干个第一存储位的第一数组,根据第一配置信息从所述源表格中提取数据,并分别将提取的数据存储至第一数组对应的第一存储位;当处理模式为第二模式时,创建包含若干个第二存储位及第三存储位的第二数组,根据第二配置信息从源表格中提取数据,并分别将提取的数据存储至第二数组对应的第二存储位和第三存储位。相较于现有技术,本实施例可根据用户的自定义设置,从源表格中提取数据并存入数组输出,输出的数组可直接进行数据清洗,或直接保存至数据库中,因此,本实施例无需为每一个应用场景制定对应的电子表格模板,可灵活适用于多种应用场景,提高了数据提取及存储的效率。
进一步地,在本实施例中,所述当提取到数据时,将提取的数据存储至所选的第一存储位中,可替换为:
当提取到数据时,利用预先确定的正则表达式对提取的数据进行处理,将处理后的数据存储至所选的第一存储位中。
进一步地,所述当提取到数据时,将提取的数据存储至所选的第三存储位中,可替换为:
当提取到数据时,利用预先确定的正则表达式对提取的数据进行处理,将处理后的数据存储至所选的第三存储位中。
本实施例可通过正则表达式对提取的数据进行二次处理,适用于一些业务环节更为复杂的应用场景,从而进一步提高了数据提取的效率及灵活性。
进一步地,本实施例中,所述赋值规则包括:
1、复制上格规则,包括:选择所述目标单元格在所述源表格中的上一个单元格的数据进行赋值。
2、复制下格规则,包括:选择所述目标单元格在所述源表格中的下一个单元格的数据进行赋值。
3、复制左格规则,包括:选择所述目标单元格在所述源表格中的左一个单元格的数据进行赋值。
4、复制右格规则,包括:选择所述目标单元格在所述源表格中的右一个单元格的数据进行赋值。
本实施例通过设置具体的赋值规则,从而进一步提高了数据提取的灵活性。
本实施例通过设置具体的赋值规则,从而进一步提高了数据提取的灵活性。
此外,需要强调的是,为进一步保证上述源表格、第一数组、第二数组的私密和安全性,上述源表格、第一数组、第二数组还可以存储于一区块链的节点中。
如图3所示,是本发明实现基于电子表格的数据处理方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如基于电子表格的数据处理程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于电子表格的数据处理程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如基于电子表格的数据处理程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的基于电子表格的数据处理程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
获取源表格,及所述源表格对应的处理模式、配置信息,所述配置信息包括第一配置信息或第二配置信息,所述第一配置信息包括各个预先确定的第一存储位在所述源表格中的取值范围及取值规则,所述第二配置信息包括各个预先确定的第二存储位及第三存储位在源表格中的取值范围及取值规则;
当所述处理模式为第一模式时,创建第一数组,所述第一数组包括若干个第一存储位,根据所述第一配置信息,从所述源表格中提取数据,分别将提取的数据存储至对应的第一存储位中,并输出所述第一数组;
当所述处理模式为第二模式时,创建第二数组,所述第二数组包括一个第二存储位及若干个第三存储位,根据所述第二配置信息,从所述源表格中提取数据,分别将提取的数据存储至对应的第二存储位和第三存储位中,并输出所述第二数组。
具体地,所述处理器10对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。需要强调的是,为进一步保证上述源表格、第一数组、第二数组的私密和安全性,上述源表格、第一数组、第二数组还可以存储于一区块链的节点中。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (9)
1.一种基于电子表格的数据处理方法,其特征在于,该方法包括:
获取源表格及所述源表格对应的处理模式、配置信息,所述配置信息包括第一配置信息或第二配置信息;
当所述处理模式为第一模式时,创建包含若干个第一存储位的第一数组,根据所述第一配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第一数组对应的第一存储位,所述第一配置信息包括各个第一存储位在所述源表格中的取值范围及取值规则;
当所述处理模式为第二模式时,创建包含若干个第二存储位及第三存储位的第二数组,所述第二存储位对应的取值范围为所述源表格中位于第c1至c2列且位于第r1至r2行的单元格,其中,c2-c1+1=L,L为大于1的正整数,根据所述第二配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第二数组对应的第二存储位和第三存储位,包括:将所述源表格中位于第u行且位于第c1+i-1列的单元格作为待处理单元格,第u行为第r1行至第r2行中任意一行,i为列索引,且i为小于或等于L的正整数;创建第Z个第二数组,所述第Z个第二数组包括一个第二存储位及若干个第三存储位,Z为正整数;从所述待处理单元格中提取数据,将提取的数据存储至所述第二存储位;根据各个第三存储位在所述源表格中的取值范围及取值规则,在所述源表格中查找目标单元格,并从所述目标单元格中提取数据,当提取到数据时,将提取的数据存储至对应的第三存储位,所述第二配置信息包括各个第二存储位及第三存储位在所述源表格中的取值范围、取值规则。
2.如权利要求1所述的基于电子表格的数据处理方法,其特征在于,在所述创建包含若干个第一存储位的第一数组,根据所述第一配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第一数组对应的第一存储位之前,包括:
根据各个第一存储位在源表格中的取值范围,确定各个取值范围对应的单元格数量的最大值N,将N作为所需创建的第一数组的总数量。
3.如权利要求2所述的基于电子表格的数据处理方法,其特征在于,所述创建包含若干个第一存储位的第一数组,根据所述第一配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第一数组对应的第一存储位,包括:
创建包含若干个第一存储位的第j个第一数组,j为正整数,且j≤N;
根据各个第一存储位在所述源表格中的取值范围及取值规则,于所述源表格中查找目标单元格,并从所述目标单元格中提取数据,当提取到数据时,将提取的数据存储至对应的第一存储位。
4.如权利要求3所述的基于电子表格的数据处理方法,其特征在于,所述根据各个第一存储位在所述源表格中的取值范围及取值规则,于所述源表格中查找目标单元格,包括:
当某一个第一存储位在所述源表格中的取值范围为第一预设单元格,且所述取值规则为第一固定取值规则时,将所述第一预设单元格作为目标单元格;
当某一个第一存储位在所述源表格中的取值范围为位于第x1行且位于第y1至y2列的单元格,所述取值规则为第一水平取值规则时,从所述源表格中查找位于第x1行且位于第y1+j-1列的单元格作为目标单元格;
当某一个第一存储位在所述源表格中的取值范围为位于第y3列且位于第x2至x3行的单元格,所述取值规则为第一垂直取值规则时,从所述源表格中查找位于第x2+j-1行且位于第y3列的单元格作为目标单元格。
5.如权利要求1所述的基于电子表格的数据处理方法,其特征在于,所述根据各个第三存储位在所述源表格中的取值范围及取值规则,在所述源表格中查找目标单元格,包括:
当某一个第三存储位在所述源表格中的取值范围为第二预设单元格,且所述取值规则为第二固定取值规则时,将所述第二预设单元格作为目标单元格;
当某一个第三存储位在所述源表格中的取值范围为位于第a1行的单元格,且所述取值规则为第二固定取值规则时,从所述源表格中查找出位于第a1行且位于第c1+i列的单元格作为目标单元格;
当某一个第三存储位在所述源表格中的取值范围为位于第b1列的单元格,且所述取值规则为第二固定取值规则时,从所述源表格中查找出位于第u行且位于第b1列的单元格作为目标单元格。
6.如权利要求1所述的基于电子表格的数据处理方法,其特征在于,所述根据各个第三存储位在源表格中的取值范围及取值规则,在所述源表格中查找目标单元格,还包括:
当某一个第三存储位在所述源表格中的取值范围为位于第a2行的单元格且起始单元格的列号为b2,所述取值规则为第二水平取值规则时,从所述源表格中查找位于第a2行且位于第b2+i-1列的单元格作为目标单元格;
当某一个第三存储位在所述源表格中的取值范围为位于第b3列的单元格且起始单元格的行号为a3,所述取值规则为第二垂直取值规则时,从所述源表格中查找位于第a3+i-1行且位于第b3列的单元格作为目标单元格。
7.一种基于电子表格的数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取源表格及所述源表格对应的处理模式、配置信息,所述配置信息包括第一配置信息或第二配置信息;
第一提取模块,用于当所述处理模式为第一模式时,创建包含若干个第一存储位的第一数组,根据所述第一配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第一数组对应的第一存储位,所述第一配置信息包括各个第一存储位在所述源表格中的取值范围及取值规则;
第二提取模块,用于当所述处理模式为第二模式时,创建包含若干个第二存储位及第三存储位的第二数组,所述第二存储位对应的取值范围为所述源表格中位于第c1至c2列且位于第r1至r2行的单元格,其中,c2-c1+1=L,L为大于1的正整数,根据所述第二配置信息从所述源表格中提取数据,并分别将提取的数据存储至所述第二数组对应的第二存储位和第三存储位,包括:将所述源表格中位于第u行且位于第c1+i-1列的单元格作为待处理单元格,第u行为第r1行至第r2行中任意一行,i为列索引,且i为小于或等于L的正整数;创建第Z个第二数组,所述第Z个第二数组包括一个第二存储位及若干个第三存储位,Z为正整数;从所述待处理单元格中提取数据,将提取的数据存储至所述第二存储位;根据各个第三存储位在所述源表格中的取值范围及取值规则,在所述源表格中查找目标单元格,并从所述目标单元格中提取数据,当提取到数据时,将提取的数据存储至对应的第三存储位,所述第二配置信息包括各个第二存储位及第三存储位在所述源表格中的取值范围、取值规则。
8.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任一所述的基于电子表格的数据处理方法。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一所述的基于电子表格的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010755510.5A CN111881661B (zh) | 2020-07-30 | 2020-07-30 | 基于电子表格的数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010755510.5A CN111881661B (zh) | 2020-07-30 | 2020-07-30 | 基于电子表格的数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111881661A CN111881661A (zh) | 2020-11-03 |
CN111881661B true CN111881661B (zh) | 2022-09-16 |
Family
ID=73204677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010755510.5A Active CN111881661B (zh) | 2020-07-30 | 2020-07-30 | 基于电子表格的数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111881661B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408506A (zh) * | 2018-09-05 | 2019-03-01 | 天津字节跳动科技有限公司 | 表格数据处理方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8484550B2 (en) * | 2011-01-27 | 2013-07-09 | Microsoft Corporation | Automated table transformations from examples |
EP2809052A1 (en) * | 2013-05-31 | 2014-12-03 | BlackBerry Limited | Methods and devices for generating display data |
CN105824548B (zh) * | 2015-01-05 | 2019-06-28 | 珠海金山办公软件有限公司 | 一种电子表格单元格合并、拆分方法及装置 |
-
2020
- 2020-07-30 CN CN202010755510.5A patent/CN111881661B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408506A (zh) * | 2018-09-05 | 2019-03-01 | 天津字节跳动科技有限公司 | 表格数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111881661A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106777644B (zh) | 电厂标识系统编码的自动生成方法及装置 | |
CN112948427B (zh) | 数据查询方法、装置、设备及存储介质 | |
CN112541745A (zh) | 用户行为数据分析方法、装置、电子设备及可读存储介质 | |
CN112528013A (zh) | 文本摘要提取方法、装置、电子设备及存储介质 | |
CN113434674A (zh) | 数据解析方法、装置、电子设备及可读存储介质 | |
CN113327136A (zh) | 归因分析方法、装置、电子设备及存储介质 | |
CN112733551A (zh) | 文本分析方法、装置、电子设备及可读存储介质 | |
CN112507663A (zh) | 基于文本的判断题生成方法、装置、电子设备及存储介质 | |
CN111694844A (zh) | 基于配置算法的企业运行数据分析方法、装置及电子设备 | |
CN112579621A (zh) | 数据展示方法、装置、电子设备及计算机存储介质 | |
CN114511038A (zh) | 虚假新闻检测方法、装置、电子设备及可读存储介质 | |
CN112464619B (zh) | 大数据处理方法、装置、设备及计算机可读存储介质 | |
CN113434542B (zh) | 数据关系识别方法、装置、电子设备及存储介质 | |
CN112580079A (zh) | 权限配置方法、装置、电子设备及可读存储介质 | |
CN113360139A (zh) | 前端框架的集成方法、装置、电子设备及存储介质 | |
CN111881661B (zh) | 基于电子表格的数据处理方法、装置、设备及存储介质 | |
CN113032275A (zh) | 字段测试方法、装置、电子设备及存储介质 | |
CN112783989A (zh) | 一种基于区块链的数据处理方法及装置 | |
CN113157739A (zh) | 跨模态检索方法、装置、电子设备及存储介质 | |
CN112541688A (zh) | 业务数据校验方法、装置、电子设备及计算机存储介质 | |
CN112104662A (zh) | 远端数据读写方法、装置、设备及计算机可读存储介质 | |
CN113822379B (zh) | 工艺制程异常分析方法、装置、电子设备及存储介质 | |
CN112561500B (zh) | 基于用户数据的薪酬数据生成方法、装置、设备及介质 | |
CN114385155A (zh) | vue项目可视化工具生成方法、装置、设备及存储介质 | |
CN113419951A (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 |