一种数据处理方法、装置、电子设备及存储介质与流程

文档序号:37229916发布日期:2024-03-05 15:39阅读:15来源:国知局
一种数据处理方法、装置、电子设备及存储介质与流程

本技术涉及数据处理,尤其涉及一种数据处理方法、装置、电子设备及存储介质。


背景技术:

1、电子表格(spreadsheet),又称电子数据表,是一类模拟纸上计算表格的计算机程序。它会显示由一系列行与列构成的网格。单元格内可以存放数值、计算式、或文本。

2、在将电子表格中的数据导入数据库时,若电子表格中不存在合并单元格,可以通过读取每一个子单元格的值和位置信息,得到读取结果,然后再将读取结果导入数据库;但当电子表格中存在纵向合并单元格时,电子表格中纵向合并单元格数据对应一树形结构,要想将上述纵向合并单元格数据存储到数据库中,需要先将电子表格中纵向合并单元格数据还原为树形结构数据作为读取结果,再将读取结果导入数据库。

3、目前将电子表格中纵向合并单元格数据还原为树形结构数据的方法,采用对空值字段进行填充的处理方式,但是,该种方式需要多次循环,使得还原效率低;且在基于所有字段下的数值还原的树形结构时,还会导致还原准确度低。


技术实现思路

1、有鉴于此,本技术实施例提供了一种数据处理方法、装置、电子设备及存储介质,能够减少循环次数,高效地将电子表格中通过纵向合并单元格对应的树形结构进行还原。

2、本技术实施例的技术方案是这样实现的:

3、第一方面,本技术实施例提供一种数据处理方法,包括以下步骤:

4、针对包括至少一个纵向合并单元格的电子表格,读取所述电子表格中每一个子表格的表格数据;其中,每个纵向合并单元格最后一行子表格的表格数据根据该纵向合并单元格的目标数据确定,每个纵向合并单元格其他行子表格的表格数据为空值;

5、获取多组相邻列的表格数据,分别对每组相邻列的表格数据进行遍历,确定所述多组相邻列表格数据之间的结构关系;其中,所述结构关系包括所述表格数据之间并列关系和从属关系;

6、基于所述表格数据以及所述多组相邻列表格数据之间的结构关系,生成所述至少一个纵向合并单元格对应的树形结构数据。

7、在一种可能的实施方式中,所述读取所述电子表格中每一个子表格的表格数据,包括:

8、构建行列长度与所述电子表格的行列长度相对应的列表集合;

9、读取所述电子表格中每一个子表格的表格数据,每一个子表格对应一个读取结果;

10、将所述读取结果放入所述列表集合中,其中,每个所述读取结果在所述列表集合中的行列位置与所述电子表格中每格的数据的行列位置相对应。

11、在一种可能的实施方式中,每组相邻列包括第一相邻列和第二相邻列;所述分别对每组相邻列的表格数据进行遍历,确定所述多组相邻列表格数据之间的结构关系,包括:

12、分别遍历所述第一相邻列和所述第二相邻列各自的表格数据,根据所述第一相邻列的表格数据,确定第一相邻列中的至少一个第一独立单元格,以及根据所述第二相邻列的表格数据,确定第二相邻列中的至少一个第二独立单元格;

13、确定所述至少一个第一独立单元格的第一行数,以及所述至少一个第二独立单元格的第二行数;

14、根据所述至少一个第一行数确定所述第一独立单元格之间的并列关系,以及,根据所述至少一个第二行数,确定所述至少一个第二独立单元格之间的并列关系;以及,根据所述至少一个第一行数和所述至少一个第二行数,确定至少一个第一独立单元格和至少一个第二独立单元格的从属关系。

15、在一种可能的实施方式中,所述第一相邻列包括一个第一独立单元格,所述第二相邻列包括至少一个第二独立单元格,所述第一独立单元格与所述至少一个第二独立单元格具备从属关系,每个第二独立单元格为并列关系,或者,所述第一相邻列包括至少一个第一独立单元格,所述第二相邻列包括至少一个第二独立单元格,每个第一独立单元格与所述至少一个第二独立单元格具备从属关系,每个第一独立单元格为并列关系,每个第二独立单元格为并列关系。

16、在一种可能的实施方式中,所述分别遍历所述第一相邻列和所述第二相邻列各自的表格数据,根据所述第一相邻列的表格数据,确定第一相邻列中的至少一个第一独立单元格,以及根据所述第二相邻列的表格数据,确定第二相邻列中的至少一个第二独立单元格,包括:

17、对所述第一相邻列和所述第二相邻列分别执行以下操作:

18、将当前列第一行的表格数据所处的行号记录为开始行号,并对当前列的表格数据进行遍历,当所述表格数据不为空时,将不为空的所述表格数据所处的行号记录为结束行号,并将开始行号更新为不为空的所述表格数据下一行的行号;

19、将所述开始行号对应的子表格、所述结束行号对应的子表格以及所述开始行号和所述结束行号之间的所有子表格作为一个独立单元格,其中,所述独立单元格包括第一独立单元格或第二独立单元格。

20、确定至少一个独立单元格的行数,包括:

21、将所述开始行号到所述结束行号的所有行,作为至少一个独立单元格的行数。

22、在一种可能的实施方式中,所述基于所述表格数据以及所述多组相邻列表格数据之间的结构关系,生成所述至少一个纵向合并单元格对应的树形结构数据,包括:

23、构建至少一个第一集合和至少一个第二集合,其中,每个第一集合用于存储一个第一独立单元格,每个第二集合用于存储一个第二独立单元格;

24、将每个第一独立单元格放入对应的第一集合中,以及将每个第二独立单元格放入对应的第二集合中;

25、将具有从属关系的第二独立单元格对应的第二集合确定为第一独立单元格对应的第一集合的子集,以及将具有并列关系的第一独立单元格对应的第一集合确定为并列的第一集合,将具有并列关系的第二独立单元格对应的第二集合确定为并列的第二集合。

26、在一种可能的实施方式中,所述方法还包括:

27、将所述树形结构数据存储到数据库中,或者,基于所述树形结构数据,生成与所述树形结构数据对应的树状图。

28、第二方面,本技术实施例还提供一种数据处理装置,所述装置包括:

29、读取模块,用于针对包括至少一个纵向合并单元格的电子表格,读取所述电子表格中每一个子表格的表格数据;其中,每个纵向合并单元格最后一行子表格的表格数据根据该纵向合并单元格的目标数据确定,每个纵向合并单元格其他行子表格的表格数据为空值;

30、处理模块,用于获取多组相邻列的表格数据,分别对每组相邻列的表格数据进行遍历,确定所述多组相邻列表格数据之间的结构关系;其中,所述结构关系包括所述表格数据之间并列关系和从属关系;

31、生成模块,用于基于所述表格数据以及所述多组相邻列表格数据之间的结构关系,生成所述至少一个纵向合并单元格对应的树形结构数据。

32、第三方面,本技术实施例还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行第一方面任一项所述的数据处理方法的步骤。

33、第四方面,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面任一项所述的数据处理方法的步骤。

34、本技术实施例具有以下有益效果:

35、通过读取包括纵向合并单元格的电子表格中每一个子表格的表格数据,并对读取结果中每组相邻列的表格数据进行遍历,由于纵向合并单元格只会在最后一行的子表格中读取到目标数据,其他行子表格的表格数据为空值,因此可以确定出每组相邻列中每一列的纵向合并单元格的个数以及每个纵向合并单元格的行数,在此基础上,通过行数间的对应关系,可以确定出每组相邻列表格数据之间的结构关系,由于只需要对读取结果进行一次遍历即可得到每组相邻列表格数据之间的结构关系,相较于传统方式的多次遍历,能够减少循环次数,进而高效地得到至少一个纵向合并单元格对应的树形结构数据。

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