excel表格解析方法、系统、设备及存储介质技术方案

技术编号:34720876 阅读:19 留言:0更新日期:2022-08-31 18:06
本申请公开了一种excel表格解析方法、系统、设备及存储介质,所述excel表格解析方法包括:获取excel表格,基于预设扫描状态机的变迁状态,通过预先构建的表头相似度模型对所述excel表格中的每一数据行进行表头相似度判定,得到表头信息以及表格正文信息,若所述表头信息存在多层嵌套表头,则对所述表头信息进行合并处理,得到所述excel表格的表头层次结构。本申请解决了excel表格解析效率较低,以及开发维护成本较高的技术问题。开发维护成本较高的技术问题。开发维护成本较高的技术问题。

【技术实现步骤摘要】
excel表格解析方法、系统、设备及存储介质


[0001]本申请涉及互联网
,尤其涉及一种excel表格解析方法、系统、设备及存储介质。

技术介绍

[0002]在企业数字化过程中,如何将存量的excel表格进行解析是中小企业面临的一个问题。目前,excel表格进行解析方法主要包括定制化解析以及基于正则匹配的解析方式,其中,定制化解析方式需要对不同客户的表格做定制化解析,当表格结构发生变化时,相应的解析代码就需要进行改造,工作量太大以及维护成本较高,而基于正则匹配进行解析的方式,是通过对已有表格的拟合推导出正则表达式,再由正则表达式去匹配其他未知表格进行解析。然而不同的表格对应的正则表达式可能不同,进而导致excel表格解析效率较低,以及开发维护成本较高。

技术实现思路

[0003]本申请的主要目的在于提供一种excel表格解析方法、系统、设备及存储介质,旨在解决现有技术中的excel表格解析效率较低,以及开发维护成本较高的技术问题。
[0004]为实现上述目的,本申请提供一种excel表格解析方法,所述excel表格解析方法包括:
[0005]获取excel表格;
[0006]基于预设扫描状态机的变迁状态,通过预先构建的表头相似度模型对所述excel表格中的每一数据行进行表头相似度判定,得到表头信息以及表格正文信息;
[0007]若所述表头信息存在多层嵌套表头,则对所述多层嵌套表头进行合并处理,得到所述excel表格的表头层次结构。
[0008]本申请还提供一种excel表格解析系统,所述excel表格解析系统为虚拟系统,所述excel表格解析系统包括:
[0009]获取模块,由于获取excel表格;
[0010]判定模块,用于基于预设扫描状态机的变迁状态,通过预先构建的表头相似度模型对所述excel表格中的每一数据行进行表头相似度判定,得到表头信息以及表格正文信息;
[0011]表头合并模块,用于若所述表头信息存在多层嵌套表头,则对所述表头信息进行合并处理,得到所述excel表格的表头层次结构。
[0012]本申请还提供一种excel表格解析设备,所述excel表格解析设备为实体设备,所述excel表格解析设备包括:存储器、处理器以及存储在所述存储器上的excel表格解析程序,所述excel表格解析程序被所述处理器执行实现如上述的excel表格解析方法的步骤。
[0013]本申请还提供一种存储介质,所述存储介质为计算机可读存储介质,所述计算机可读存储介质上存储excel表格解析程序,所述excel表格解析程序被处理器执行实现如上
述的excel表格解析方法的步骤。
[0014]本申请提供了一种excel表格解析方法、系统、设备及存储介质,相比于现有技术采用的对excel表格进行定制化解析或者基于excel表格的正则表达式进行解析的技术手段,本申请首先获取excel表格,进而基于预设扫描状态机的变迁状态,通过预先构建的表头相似度模型对所述excel表格中的每一数据行进行表头相似度判定,得到表头信息以及表格正文信息,进一步地,若所述表头信息存在多层嵌套表头,则对所述多层嵌套表头进行合并处理,得到所述excel表格的表头层次结构,实现了将扫描状态机的变迁状态和表头相似度模型相结合,逐行判定获取excel表格中每一数据行是否属于表头,从而快速准确地解析得到excel表格的表头信息以及表格正文信息,并且能够准确解析包括多层表头在内的复杂表格结构,即使excel表格结构发生变化,仍然能够直接通过扫描状态机以及表头相似度模型对所述excel表格中的每一数据行进行判定,无需针对每一类表格做定制化开发,从而提高excel表格解析的效率,有效降低维护成本。
附图说明
[0015]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0016]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域默认技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为本申请excel表格解析方法第一实施例的流程示意图;
[0018]图2为本申请excel表格解析方法第二实施例的流程示意图;
[0019]图3为本申请excel表格解析方法第三实施例的流程示意图;
[0020]图4为excel表格具有多层嵌套表头的表头结构示意图;
[0021]图5为本申请读取每一行的表头文本以及表头文本对应的单元格位置的结构示意图;
[0022]图6为本申请实施例方案涉及的硬件运行环境的excel表格解析设备结构示意图;
[0023]图7为本申请excel表格解析系统的功能模块示意图。
[0024]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0025]应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
[0026]本申请实施例提供一种excel表格解析方法,在本申请excel表格解析方法的第一实施例中,参照图1,所述excel表格解析方法包括:
[0027]步骤S10,获取excel表格;
[0028]在本实施例中,需要说明的是,一个excel表格包括表头区域、表格正文区域以及备注区域中至少一种或多种。
[0029]步骤S20,基于预设扫描状态机的变迁状态,通过预先构建的表头相似度模型对所述excel表格中的每一数据行进行表头相似度判定,得到表头信息以及表格正文信息;
[0030]在本实施例中,需要说明的是,所述变迁状态包括初始过滤状态、表头扫描状态、
正文扫描状态以及终止态,其中,所述初始过滤状态为开始扫描excel表格中数据行时预设扫描状态机所对应的状态,所述表头相似度模型为基于预先收集的业务历史表格数据中的表头文本进行迭代训练获得。
[0031]进一步需要说明的是,所述表头信息包括每一行的表头文本以及表头文本对应的单元格位置,通常excel表格的表头通常具有连续性,多层表头之间不会存在空白或其他干扰数据,以及表格正文内容的行与行之间是连在一起的,表格正文行之间不存在空白行,也不会再次出现表头行。
[0032]由于表头可能excel表格中间的某一个数据行,也即,前面的数据行可能是空白行或者干扰数据,因此,需要对excel表格进行过滤处理,具体地,当所述预设扫描状态机处于所述初始过滤状态下:首先扫描所述excel表格的初始数据行,若所述初始数据行为空,则直接跳过该行数据,以进行下一行数据的扫描判定,或者通过预先构建的表头相似度模型对所述初始数据行进行表头相似度判定,得到表头相似度,若所述表头相似度小于预设相似度阈值,则判定该行数据不是表头而是干扰数据,进而直接跳过该行数据,以进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种excel表格解析方法,其特征在于,所述excel表格解析方法包括:获取excel表格;基于预设扫描状态机的变迁状态,通过预先构建的表头相似度模型对所述excel表格中的每一数据行进行表头相似度判定,得到表头信息以及表格正文信息;若所述表头信息存在多层嵌套表头,则对所述多层嵌套表头进行合并处理,得到所述excel表格的表头层次结构。2.如权利要求1所述的excel表格解析方法,其特征在于,所述预设扫描状态机的变迁状态包括初始过滤状态、表头扫描状态以及正文扫描状态。3.如权利要求2所述的excel表格解析方法,其特征在于,所述基于预设扫描状态机的变迁状态,通过预先构建的表头相似度模型对所述excel表格中的每一数据行进行表头相似度判定,得到表头信息以及表格正文信息的步骤包括:当所述预设扫描状态机处于所述初始过滤状态时,若所述excel表格的初始数据行不为空,则将所述初始数据行中的单元格信息输入所述表头相似度模型,输出表头相似度;若所述表头相似度不小于预设相似度阈值,则将所述预设扫描状态机的状态更改为所述表头扫描状态;将所述excel表格的下一数据行中的单元格信息输入所述表头相似度模型,输出表头相似度,并记录表头相似度不小于预设相似度阈值对应的数据行的单元格信息,直至所述excel表格的下一数据行的表头相似度小于预设相似度阈值,或扫描结束所述excel表格的全部数据行;基于所述表头相似度不小于预设相似度阈值对应的数据行的单元格信息,确定所述表头信息;若所述表头相似度小于预设相似度阈值时,则将所述预设扫描状态机的状态更改为所述正文扫描状态;将所述excel表格的下一数据行中的单元格信息输入所述表头相似度模型,输出表头相似度,并记录表头相似度小于预设相似度阈值对应的数据行的单元格信息,直至扫描结束所述excel表格的全部数据行;基于所述表头相似度小于预设相似度阈值对应的数据行的单元格信息,确定所述表格正文信息。4.如权利要求1所述的excel表格解析方法,其特征在于,所述对所述多层嵌套表头进行合并,得到所述excel表格的表头层次结构的步骤包括:按照预设单元格读取规则,在所述多层嵌套表头中读取每一行的单元格信息,得到每一行的表头读取结果;构建归并结果列表、判定列表和扫描表头列表,其中,所述判定列表初始存放第一行的表头读取结果,所述扫描表头列表依次扫描所述每一行的表头读取结果;若当前扫描的判定列表和扫描表头列表中的表头读取结果存在相同位置单元格的数据为空,则对当前扫描表头列表中空的单元格进行填充,得到更新后的扫描表头列表;将所述归并结果列表和所述扫描表头列表中的单元格信息进行元素拼接,并将拼接表头结果存放至所述归并结果列表中,并进行下一行表头读取结果的扫描,得到下一行扫描的扫描表头列表;
将所述下一行扫描的扫描表头列表中的表头读取结...

【专利技术属性】
技术研发人员:彭麒菱
申请(专利权)人:招商银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1