CN116644729A - 表格文件处理方法、装置、计算机设备和存储介质 - Google Patents
表格文件处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116644729A CN116644729A CN202310552687.9A CN202310552687A CN116644729A CN 116644729 A CN116644729 A CN 116644729A CN 202310552687 A CN202310552687 A CN 202310552687A CN 116644729 A CN116644729 A CN 116644729A
- Authority
- CN
- China
- Prior art keywords
- row
- template configuration
- column
- data
- elements
- 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
- 238000003672 processing method Methods 0.000 title abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000004590 computer program Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 28
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 16
- 238000006243 chemical reaction Methods 0.000 abstract description 12
- 230000000875 corresponding effect Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012015 optical character recognition Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 101150035983 str1 gene Proteins 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
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种表格文件处理方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:对表格文件进行解析,获取所述表格文件的元素、元素位置信息;根据所述元素匹配表格文件模板配置,得到目标模板配置;根据所述元素位置信息对文本页面中的所述元素进行排序;根据所述目标模板配置对排序后的所述文本页面进行调整,生成目标格式的表格文件。采用本方法能够通过提高表格文件在转化过程中的精准度,避免表格文件转化过程中出现表格文件错行、错列以及数据粘连等情况。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种表格文件处理方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,利用计算机分析数据越来越广泛。现实生活当中,相当多的表格文件是可携带文件格式(portable document format,简称PDF)甚至是图片的形式存在的,距离方便数据分析的Excel或者CSV文件还有很大的差距。
传统技术中,通常是通过光学字符识别(Optical Character Recognition,简称OCR)技术或者开源代码解析的方法,将文件转化为页面内的字符串及其在文件中的位置信息,而转化在页面的内容会出现错行、错列的情况,无法真实的还原表格文件的式样。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高转化准确性的表格文件处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种表格文件处理方法。所述方法包括:
对表格文件进行解析,获取所述表格文件的元素、元素位置信息;
根据所述元素匹配表格文件模板配置,得到目标模板配置;
根据所述元素位置信息对文本页面中的所述元素进行排序;
根据所述目标模板配置对排序后的所述文本页面进行调整,生成目标格式的表格文件。
在其中一个实施例中,所述元素位置信息包括元素的行坐标和列坐标;所述根据所述元素位置信息对文本页面中的所述元素进行排序,包括:
将具有相同或相近列坐标的元素按照行坐标进行排序,得到所述文本页面的每一行数据。
在其中一个实施例中,根据表格文件特征对每一行数据进行识别,得到每一行数据的属性,所述属性包括表题、表头、表格数据行和注脚中至少一种。
在其中一个实施例中,根据所述元素位置信息对文本页面中的所述元素进行排序之后,包括:
获取表格数据行每个元素的行坐标;对所述元素的行坐标是否连续交叉,表头的行坐标是否交叉以及表格线位置进行判断,得到判断结果;根据所述判断结果,将所述元素合并到所述表头对应的列。
在一个实施例中,根据所述目标模板配置对排序后的所述文本页面进行调整,还包括:
根据所述目标模板配置判断当前行的预设列的数据是否符合预设格式,所述目标模板配置包括时间列、时间列正则格式和余额列;当所述当前行的所述预设列的数据不符合预设格式时,将所述当前行的数据合并至所述当前行的上一行或下一行。
在一个实施例中,所述根据所述目标模板配置对排序后的所述文本页面进行调整,包括以下至少一种:
根据所述目标模板配置判断是否需要合并表头;当需要合并时,所述表头的所述元素向前或向后合并若干行;
根据所述目标模板配置判断是否需要处理跨页行,所述目标模板配置包括行跨页类型、时间列、上一页时间正则和下一页时间正则;若所述上一页时间正则匹配所述下一页时间正则时,则将所述跨页行的数据合并至所述跨页行的上一行或下一行;
根据所述目标模板配置判断是否需要将当前列进行拆分,所述目标模板配置包括需要分裂为两行的数据列和分裂出来的列名;当需要将当前列进行拆分时,则将所述当前列的数据拆分至所述分裂出来的列名对应的列。
第二方面,本申请还提供了一种表格文件处理装置。所述装置包括:
解析模块,用于对表格文件进行解析,获取所述表格文件的元素、元素位置信息;
数据处理模块,用于根据所述元素匹配表格文件模板配置,得到目标模板配置;根据所述元素位置信息对文本页面中的元素进行排序,根据所述目标模板配置对排序后的文本页面进行调整;
生成模块,用于生成目标格式的表格文件。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
对表格文件进行解析,获取所述表格文件的元素、元素位置信息;
根据所述元素匹配表格文件模板配置,得到目标模板配置;
根据所述元素位置信息对文本页面中的所述元素进行排序;
根据所述目标模板配置对排序后的所述文本页面进行调整,生成目标格式的表格文件。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
对表格文件进行解析,获取所述表格文件的元素、元素位置信息;
根据所述元素匹配表格文件模板配置,得到目标模板配置;
根据所述元素位置信息对文本页面中的所述元素进行排序;
根据所述目标模板配置对排序后的所述文本页面进行调整,生成目标格式的表格文件。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
对表格文件进行解析,获取所述表格文件的元素、元素位置信息;
根据所述元素匹配表格文件模板配置,得到目标模板配置;
根据所述元素位置信息对文本页面中的所述元素进行排序;
根据所述目标模板配置对排序后的所述文本页面进行调整,生成目标格式的表格文件。
本申请实施例提供的技术方案带来的有益效果至少包括:
上述表格文件处理方法、装置、计算机设备、存储介质和计算机程序产品,可以还原表格文件真实式样,避免在转化过程中页面的内容会出现错行、错列和数据粘连等问题。该表格文件处理方法,对表格文件进行解析,获取所述表格文件的元素、元素位置信息;根据所述元素匹配表格文件模板配置,得到目标模板配置;根据所述元素位置信息对文本页面中的所述元素进行排序;根据所述目标模板配置对排序后的所述文本页面进行调整,生成目标格式的表格文件。本申请实施例中,通过解析获得的元素及其位置信息,根据获取的元素来匹配表格文件模板配置,根据获取的元素位置信息初步调整文本页面,结合模板配置再次对初步调整过的文本页面进行二次调整,提高了表格文件在生成固定格式过程中的精准度,避免转化过程中出现表格文件错行、错列和数据粘连的问题,能够还原表格文件真实样式。
附图说明
图1为一个实施例中表格文件处理方法的应用环境图;
图2为一个实施例中表格文件处理方法的流程示意图;
图3为一个实施例中表格文件元素排序的流程示意图;
图4为一个实施例中根据目标模板配置调整文本页面流程示意图;
图5a为一个实施例中根据目标模板配置调整文本页面的流程示意图;
图5b为一个实施例中根据目标模板配置调整文本页面的流程示意图;
图5c为一个实施例中根据目标模板配置调整文本页面的流程示意图;
图6为一个实施例中表格文件数据存在容差值的示意图;
图7为一个实施例中根据目标模板配置文本页面内容上下调整的示意图;
图8为一个实施例中表格文件处理的流程示意图;
图9为一个实施例中表格文件处理装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的表格文件处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。服务器104对从终端102获取的表格文件进行解析,获取所述表格文件的元素、元素位置信息;根据所述元素匹配表格文件模板配置,得到目标模板配置;根据所述元素位置信息对文本页面中的所述元素进行排序;根据所述目标模板配置对排序后的所述文本页面进行调整,生成目标格式的表格文件,将生成固定格式的表格文件,返回给终端102进行统计分析。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种表格文件处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S202,对表格文件进行解析,获取所述表格文件的元素、元素位置信息。
其中,表格文件可以是PDF格式的,也可以是以图片形式呈现的表格;表格文件的元素可以是指组成表格文件的字符串以及单元格线段,字符串可以包括表格印章和标志(logogram,简称logo);元素位置信息是指用坐标信息表示出字符串以及单元格线段所在的位置,坐标可以是以表格文本中任意点作为原点构建的坐标系中的坐标,坐标可以是单个坐标,也可以是坐标加上宽和高以表征一个坐标区域。
可选地,处理器通过解析表格文件,获取解析后的文件的所有字符串、单元格线段及其位置信息,其中,解析技术可以使用OCR,也可以使用开源的Java库,如Apache PDFbox,还可以使用Java和.NET语言写的库,如iText。元素位置信息可以是以表格文本页面左下角为原点建立二维坐标系来表示,也可以是以表格文本页面右上角为原点建立二维坐标系来表示,还可以是以表格文本中任意点作为原点建立二维坐标系来表示;元素位置信息可以是单个坐标来表示;元素位置信息还可以是坐标加上宽和高以表征一个坐标区域来表示。
S204,根据所述元素匹配表格文件模板配置,得到目标模板配置。
其中,表格文件模板配置是指预定义需要用到的变量,预先设置在服务器中的计算逻辑。
可选地,模板配置包括是否存在跨页行、时间列是第几列、上一页最后一行时间列的正则格式、注脚关键字、每页是否都包含表头、是否绝对合并到上一行、是否有多行表头、数据列与表头是否有交集的最小差值、组装每个格子数据时是否需要去除数据的空格中的至少一个。元素可以是表头及表头前的关键字,处理器可以根据表头及表头前的关键字匹配相应的表格文件模板配置,如表头及表头前的关键字为“中国银行”,相应的调取预先设置的“中国银行”表单的模板配置。
S206,根据所述元素位置信息对文本页面中的所述元素进行排序。
可选地,处理器可以基于元素位置信息对元素按照每一行进行排序,例如可以将具有相同特征的列坐标的元素按照每一行进行排序。
S208,根据所述目标模板配置对排序后的所述文本页面进行调整,生成目标格式的表格文件。
其中,调整是元素位置的变动,可以是元素的上下移动,也可以是元素的左右移动,还可以是元素所在的列或者行的分裂和合并。
可选地,处理器可以根据目标模板配置对排序后的表格文本页面中的元素进行上下左右移动;也可以根据目标模板配置对排序后的表格文本页面中的元素所在的列的分裂和合并;还可以根据目标模板配置对排序后的表格文本页面中的元素所在行的分裂和合并,也可以根据目标模板配置对表格特殊情况进行调整处理,生成目标格式的表格文件,生成的表格文件可以是Excel格式,也可以是CSV格式。
上述表格文件处理方法中,通过解析获得的元素及其位置信息,根据获取的元素来匹配表格文件模板配置,根据获取的元素位置信息初步调整文本页面,结合模板配置再次对初步调整过的文本页面进行二次调整,提高了表格文件在生成固定格式过程中的精准度,避免转化过程中出现表格文件错行、错列和数据粘连的问题,能够还原表格文件真实样式。
在一个实施例中,所述元素位置信息包括元素的行坐标和列坐标;所述根据所述元素位置信息对文本页面中的所述元素进行排序,包括:将具有相同或相近列坐标的元素按照行坐标进行排序,得到所述文本页面的每一行数据。
可选地,根据纵坐标将当前文本页面的字符串进行排序,循环纵坐标相同或相近的每一行字符串初步组装当前页每一行的内容。其中,纵坐标相近是指纵坐标差值小于差值阈值,即允许有一定的容差值,如图6第二行数据,前7列是有相同的纵坐标,但最后一列其纵坐标不经处理的话是没法直接与前7列的y坐标对齐的,这里会涉及一个文本顶部y坐标容差函数:text_y_tolerance,例如:取字符串的顶部y坐标,若|y_str1-y_str2|<text_y_tolerance,则将str1与str2组装到同一数据行。
本实施例中,通过将具有相同或相近列坐标的元素按照行坐标进行排序表格文本页面进行排序,精确地组装文本页面每一行数据,避免了表格错列情况的出现,提高了表格文件在转化过程中的精准度。
在一个实施例中,所述方法还包括:根据表格文件特征对每一行数据进行识别,得到每一行数据的属性,所述属性包括表题、表头、表格数据行和注脚中至少一种。
其中,表题是指表头前的内容。表头可以根据规则判断识别,一般为表格单元格的第一行内容。表格数据行是指表头之后的内容,以及注脚关键词之前的内容。注脚是指注脚关键词之后的内容。
可选地,表头行判断规则有:1、非空行;2、至少5列,可以通过模板配置判断5列以下的表头行;3、每列都不可以包含纯数字;4、每列都不可以包含符号“:”“:”;5、表头行至少有一列是符合配置中的时间,如“交易日期”“交易时间”“TransactionDate”等等。
在一个实施例中,如图3所示,所述根据所述元素位置信息对文本页面中的所述元素进行排序之后,包括:
S302,获取表格数据行每个元素的行坐标。
可选地,处理器可以获取表格文件数据行每个单元格的横坐标。
S304,对所述元素的行坐标是否连续交叉,表头的行坐标是否交叉以及表格线位置进行判断,得到判断结果。
可选地,根据字符串与表头列重合部分的横坐标长度和表头列的长度构建交占比函数,通过该交占比函数计算得到交占比值,根据交占比值与占比阈值的关系确定横坐标是否与表头交叉。交占比函数计算得到的交占比值,与字符串与表头列重合部分的横坐标长度成正相关,与表头列的长度成负相关。占比阈值可以根据需要设置。
在一个可选的实施方式中,交占比函数IoU(Intersection-over-Union)可采用,占比阈值为0.5。若IoU>0.5则可认为该字符串与表头列实现了正确对应。
可选地,其中第一个单元格的横坐标是一个范围:x1到x2,其中x1为单元格左下的横坐标,x2为单元格右下的横坐标;第二个单元格左下的横坐标为x1,第二个单元格右下的横坐标为x2,通过判断第二个单元格的x1是否处在第一个单元格的x1到x2,就能知道两个单元格是否交叉。
可选地,判断结果可为数据行的单元格横坐标连续且坐标连续字单元格中不存在第三条竖表格线。
S306,根据所述判断结果,将所述元素合并到所述表头对应的列。
可选地,根据数据行的单元格横坐标连续且坐标连续字单元格中不存在第三条竖表格线的判断结果,则表格元素进行左右合并。
可选地,若根据数据行的单元格横坐标连续、坐标连续字单元格中存在第三条竖表格线的判断结果,则表格元素就不进行左右合并。
本实施例中,通过表格元素左右合并,能够隔绝文字粘连的情况,避免了表格错列情况的出现,提高了表格文件在转化过程中的精准度。
在一个实施例中,如图4所示,根据所述目标模板配置对排序后的所述文本页面进行调整,还包括:
S402,根据所述目标模板配置判断当前行的预设列的数据是否符合预设格式,所述目标模板配置包括时间列、时间列正则格式和余额列;
具体地,根据选中的目标模板配置,遍历单元格数据,遍历到目标行的时间列或余额列就可以根据判断该行是否在预设的时间列、余额列上有数据,再判断时间列或者余额列的数据是否符合预设格式,预设的时间格式可以是格林威治标准时间GMT,即星期月日年时分如Fri Jul 20 2018 00:00:00;可以是RFC2822,即年月日时分秒,如1992/02/12 12:23:22;还可以是世界协调时间UTC,即星期日月年时分秒,如Mon,29Apr 2019 09:52:21。
S404,当所述当前行的所述预设列的数据不符合预设格式时,将所述当前行的数据合并至所述当前行的上一行或下一行。
可选地,在时间列的一行时间数据为年月日时,在该行的下一行的时间数据为分秒,即所述当前行的所述预设列的数据不符合预设格式年月日时分秒时,则将当前行的数据合并至所述当前行的上一行。如图7所示,遍历单元格数据,遍历到框图中的选中行就可以判断该行是否在时间列、余额列上有数据,时间列上的数据是否符合正确的时间格式来决定需要向上合并。
本实施例中,通过表格元素上下合并,能够达到避免了表格错行情况的出现,提高了表格文件在转化过程中的精准度。
在一个实施例中,如图5a所示,根据所述目标模板配置对排序后的所述文本页面进行调整,还包括:
S5010,根据所述目标模板配置判断是否需要合并表头;
S5012,当需要合并时,所述表头的所述元素向前或向后合并若干行;
目标模板配置包括是否需要合并表头,当表头需要合并时,表头的单元格可以向前或者向后合并若干行,出现负数指标时,表头的单元格可以向前合并若干行,出现正数指标时,表头的单元格可以向后合并若干行。
本实施例中,通过进行表头的合并,能够避免了表格错行情况的出现,提高了表格文件在转化过程中的精准度。
在一个实施例中,如图5b所示,根据所述目标模板配置对排序后的所述文本页面进行调整,还包括:
S5020,根据所述目标模板配置判断是否需要处理跨页行,所述目标模板配置包括行跨页类型、时间列、上一页时间正则和下一页时间正则;
目标模板配置包括行跨页类型、时间列、上一页时间正则和下一页时间正则,根据前述模板配置判断是否需要处理跨页行以及需要处理的跨页行进行处理的逻辑,跨页行类型可以是行跨页但是数据没有重复,也可以是行跨页但数据有重复。
S5022,若所述上一页时间正则匹配所述下一页时间正则时,则将所述跨页行的数据合并至所述跨页行的上一行或下一行;
表格文件存在时间列时,进行判断上一页时间正则和下一页时间正则是否相匹配,上一页时间正则和下一页时间正则为一个完整的预先设置的时间正则格式即为匹配,如果匹配,则将所述跨页行的数据合并至所述跨页行的上一行或下一行。
本实施例中,通过表格文件中跨页行的处理,能够避免了表格错行情况的出现,提高了表格文件在转化过程中的精准度。
在一个实施例中,如图5c所示,根据所述目标模板配置对排序后的所述文本页面进行调整,还包括:
S5030,根据所述目标模板配置判断是否需要将当前列进行拆分,所述目标模板配置包括需要分裂为两行的数据列和分裂出来的列名;
S5032,当需要将当前列进行拆分时,则将所述当前列的数据拆分至所述分裂出来的列名对应的列。
可选地,如,表头的一列内容为“收支情况”,对应的列的数据行分别为“收入9774.99、收入38244.06、支出”,此时根据需要分裂为两行的数据列的模板配置判定该列为需要分类为两列的列,再根据分裂出来的列名,如“收支”“收支金额”,将该列分列为表头为“收支”的列和表头为“收支金额”的列,表头为“收支”的列相应的数据行分别是“收入”“收入”“支出”;表头为“收支金额”的列相应的数据行分别是“9774.99”“38244.06”“2999.00”。
本实施例中,通过表格文件的列是否拆分,能够避免了表格错列情况的出现,提高了表格文件在转化过程中的精准度。
在一个实施例中,如图8所示,表格文件处理方法包括以下步骤:
表格文件可以是流水表格文件,一般来说流水表格文件不存在特殊情况不需要匹配到特定的配置文件,直接解析即可生成固定格式的文件。
使用OCR技术对流水文件表格进行解析,获取字符串和表格单元格线段以及字符串和表格单元格线段的二维坐标信息,二维坐标以字符串距表格页面顶部距离为纵坐标y,以字符串距表格页面左端距离为行坐标y。如字符串左上角、右上角、左下角、右下角分别记为(x1,y1)(x2,y2)(x3,y3)(x4,y4)。
根据表头及表头前关键字的不同,所需匹配的表格文件模板配置也相应的不同。如表头及表头前的关键字为“中国银行”,相应的调取预先设置的“中国银行”表单的模板配置。如果根据表头及表头前关键字并未匹配到模板配置时,此时需要根据表格文件特征由人工模板配置。表格特征可以是时间列特征,也可以是注脚关键字,还可以是需要拆分多列的列。
根据表头行判断规则判断出表格文件的表头和注脚、表题是指表头之前的内容、数据行是表头之后,注脚之前的内容、注脚是注脚关键词之后的内容。表头行判断规则有:1、非空行;2、至少5列,可以通过模板配置判断5列以下的表头行;3、每列都不可以包含纯数字;4、每列都不可以包含符号“:”“:”;5、表头行至少有一列是符合配置中的时间,如“交易日期”“交易时间”“TransactionDate”等等;注脚的判断规则为注脚关键字。
根据纵坐标信息将当前文本页面的字符串进行排序,循环纵坐标相同或相近的每一行字符串初步组装当前页每一行的内容。
行数据单元格左右合并。获取表格文件数据行的每个单元格的行坐标x,对所述元素的行坐标是否连续交叉,表头的行坐标是否交叉以及表格线位置进行判断,将所述元素合并到所述表头对应的列。第一个单元格的横坐标是一个范围:x1到x2,其中x1为单元格左下的横坐标,x2为单元格右下的横坐标;第二个单元格左下的横坐标为x1,第二个单元格右下的横坐标为x2,通过判断第二个单元格的x1是否处在第一个单元格的x1到x2,就能知道两个单元格是否交叉。数据行的单元格横坐标连续且坐标连续字单元格中不存在竖表格线,则单元格进行左右合并;如果在单元格中出现竖表格线,则单元格就不进行左右合并。
行数据单元格上下合并,通过判断时间列、时间正则格式判断单元格是否进行上下合并。遍历流水表格单元格数据,判断是否存在时间列,进一步判断时间列上是否有数据,时间列上的数据是否符合完整的时间格式,如果时间列上的数据格式完整就不需要进行上下合并,如果时间列上的数据格式不完整,则需要将不完整的数据格式所在的行进行上下合并。
特殊情况会根据模板配置进行特殊处理,没有特殊情况则不需要进行以下操作。
合并表头的处理:目标模板配置包括是否需要合并表头,当表头需要合并时,表头的单元格可以向前或者向后合并若干行,出现负数指标时,表头的单元格可以向前合并若干行,出现正数指标时,表头的单元格可以向后合并若干行。
跨页行的处理:目标模板配置包括行跨页类型、时间列、上一页时间正则和下一页时间正则,遍历流水表格单元格数据,上一页时间正则匹配所述下一页时间正则时,即满足跨页行条件,将跨页行的数据合并至跨页行的上一行或下一行。
需要拆分列的处理:目标模板配置包括需要分裂为两行的数据列和分裂出来的列名,当需要将当前列进行拆分时,则将所述当前列的数据拆分至所述分裂出来的列名对应的列。如表头的一列内容为“收支情况”,对应的列的数据行分别为“收入9774.99、收入38244.06、支出”,此时根据需要分裂为两行的数据列的模板配置判定该列为需要分类为两列的列,再根据分裂出来的列名,如“收支”“收支金额”,将该列分列为表头为“收支”的列和表头为“收支金额”的列,表头为“收支”的列相应的数据行分别是“收入”“收入”“支出”;表头为“收支金额”的列相应的数据行分别是“9774.99”“38244.06”“2999.00”。
生成最终EXCLE或者CSV格式文件。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的表格文件处理方法的表格文件处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个表格文件处理装置实施例中的具体限定可以参见上文中对于表格文件处理方法的限定,在此不再赘述。
在一个实施例中,如图9所示,提供了一种表格文件处理装置,包括:解析模块901、数据处理模块902和生成模块903,其中:
解析模块901,用于对表格文件进行解析,获取所述表格文件的元素、元素位置信息;
数据处理模块902,用于根据所述元素匹配表格文件模板配置,得到目标模板配置;根据所述元素位置信息对文本页面中的元素进行排序,根据所述目标模板配置对排序后的文本页面进行调整;
生成模块903,用于生成目标格式的表格文件。
在一个实施例中,数据处理模块902还包括:
排序单元,用于将具有相同或相近列坐标的元素按照行坐标进行排序,得到所述文本页面的每一行数据。
在一个实施例中,数据处理模块902还包括:
识别单元,用于根据表格文件特征对每一行数据进行识别,得到每一行数据的属性,所述属性包括表题、表头、表格数据行和注脚中至少一种。
在一个实施例中,数据处理模块902还包括:
结果判断单元,用于获取表格数据行每个元素的行坐标;对所述元素的行坐标是否连续交叉,表头的行坐标是否交叉以及表格线位置进行判断,得到判断结果;根据所述判断结果,将所述元素合并到所述表头对应的列。
在一个实施例中,数据处理模块902还包括:
预设格式判断单元,用于根据所述目标模板配置判断当前行的预设列的数据是否符合预设格式,所述目标模板配置包括时间列、时间列正则格式和余额列;当所述当前行的所述预设列的数据不符合预设格式时,将所述当前行的数据合并至所述当前行的上一行或下一行。
在一个实施例中,数据处理模块902还包括:
上下调整单元,用于根据所述目标模板配置判断当前行的预设列的数据是否符合预设格式,所述目标模板配置包括时间列、时间列正则格式和余额列;当所述当前行的所述预设列的数据不符合预设格式时,将所述当前行的数据合并至所述当前行的上一行或下一行。
表头合并单元,用于根据所述目标模板配置判断是否需要合并表头;当需要合并时,所述表头的所述元素向前或向后合并若干行。
跨页处理单元,用于根据所述目标模板配置判断是否需要处理跨页行,所述目标模板配置包括行跨页类型、时间列、上一页时间正则和下一页时间正则;若所述上一页时间正则匹配所述下一页时间正则时,则将所述跨页行的数据合并至所述跨页行的上一行或下一行。
列拆分单元,用于根据所述目标模板配置判断是否需要将当前列进行拆分,所述目标模板配置包括需要分裂为两行的数据列和分裂出来的列名;当需要将当前列进行拆分时,则将所述当前列的数据拆分至所述分裂出来的列名对应的列。
上述表格文件处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种表格文件处理方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种表格文件处理方法,其特征在于,所述方法包括:
对表格文件进行解析,获取所述表格文件的元素、元素位置信息;
根据所述元素匹配表格文件模板配置,得到目标模板配置;
根据所述元素位置信息对文本页面中的所述元素进行排序;
根据所述目标模板配置对排序后的所述文本页面进行调整,生成目标格式的表格文件。
2.根据权利要求1所述的方法,其特征在于,所述元素位置信息包括元素的行坐标和列坐标;所述根据所述元素位置信息对文本页面中的所述元素进行排序,包括:
将具有相同或相近列坐标的元素按照行坐标进行排序,得到所述文本页面的每一行数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据表格文件特征对每一行数据进行识别,得到每一行数据的属性,所述属性包括表题、表头、表格数据行和注脚中至少一种。
4.根据权利要求3所述的方法,其特征在于,根据所述元素位置信息对文本页面中的所述元素进行排序之后,包括:
获取表格数据行每个元素的行坐标;
对所述元素的行坐标是否连续交叉,表头的行坐标是否交叉以及表格线位置进行判断,得到判断结果;
根据所述判断结果,将所述元素合并到所述表头对应的列。
5.根据权利要求3所述的方法,其特征在于,根据所述目标模板配置对排序后的所述文本页面进行调整,还包括:
根据所述目标模板配置判断当前行的预设列的数据是否符合预设格式,所述目标模板配置包括时间列、时间列正则格式和余额列;
当所述当前行的所述预设列的数据不符合预设格式时,将所述当前行的数据合并至所述当前行的上一行或下一行。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述根据所述目标模板配置对排序后的所述文本页面进行调整,包括以下至少一种:
根据所述目标模板配置判断是否需要合并表头;当需要合并时,所述表头的所述元素向前或向后合并若干行;
根据所述目标模板配置判断是否需要处理跨页行,所述目标模板配置包括行跨页类型、时间列、上一页时间正则和下一页时间正则;若所述上一页时间正则匹配所述下一页时间正则时,则将所述跨页行的数据合并至所述跨页行的上一行或下一行;
根据所述目标模板配置判断是否需要将当前列进行拆分,所述目标模板配置包括需要分裂为两行的数据列和分裂出来的列名;当需要将当前列进行拆分时,则将所述当前列的数据拆分至所述分裂出来的列名对应的列。
7.一种表格文件处理装置,其特征在于,所述装置包括:
解析模块,用于对表格文件进行解析,获取所述表格文件的元素、元素位置信息;
数据处理模块,用于根据所述元素匹配表格文件模板配置,得到目标模板配置;根据所述元素位置信息对文本页面中的元素进行排序,根据所述目标模板配置对排序后的文本页面进行调整;
生成模块,用于生成目标格式的表格文件。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310552687.9A CN116644729A (zh) | 2023-05-16 | 2023-05-16 | 表格文件处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310552687.9A CN116644729A (zh) | 2023-05-16 | 2023-05-16 | 表格文件处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116644729A true CN116644729A (zh) | 2023-08-25 |
Family
ID=87618065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310552687.9A Pending CN116644729A (zh) | 2023-05-16 | 2023-05-16 | 表格文件处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116644729A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117173725A (zh) * | 2023-11-03 | 2023-12-05 | 之江实验室 | 表格信息处理方法、装置、计算机设备和存储介质 |
CN117556078A (zh) * | 2024-01-11 | 2024-02-13 | 北京极致车网科技有限公司 | 可视化车辆登记证文件管理方法、装置及电子设备 |
-
2023
- 2023-05-16 CN CN202310552687.9A patent/CN116644729A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117173725A (zh) * | 2023-11-03 | 2023-12-05 | 之江实验室 | 表格信息处理方法、装置、计算机设备和存储介质 |
CN117173725B (zh) * | 2023-11-03 | 2024-04-09 | 之江实验室 | 表格信息处理方法、装置、计算机设备和存储介质 |
CN117556078A (zh) * | 2024-01-11 | 2024-02-13 | 北京极致车网科技有限公司 | 可视化车辆登记证文件管理方法、装置及电子设备 |
CN117556078B (zh) * | 2024-01-11 | 2024-03-29 | 北京极致车网科技有限公司 | 可视化车辆登记证文件管理方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11244208B2 (en) | Two-dimensional document processing | |
US9495347B2 (en) | Systems and methods for extracting table information from documents | |
CN116644729A (zh) | 表格文件处理方法、装置、计算机设备和存储介质 | |
CN111428457B (zh) | 数据表的自动格式化 | |
CN114677695A (zh) | 表格解析方法、装置、计算机设备和存储介质 | |
CN115917613A (zh) | 文档中文本的语义表示 | |
JP6674094B2 (ja) | 領域抽出プログラム、領域抽出方法、および領域抽出装置 | |
CN111324716A (zh) | 指标数据获取方法、装置、计算机设备和存储介质 | |
CN113837151A (zh) | 表格图像处理方法、装置、计算机设备及可读存储介质 | |
CN115131803A (zh) | 文档字号的识别方法、装置、计算机设备和存储介质 | |
CN113780365A (zh) | 样本生成方法和装置 | |
CN116561181A (zh) | 数据查询方法、装置、计算机设备及计算机可读存储介质 | |
CN116225956A (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
Dong et al. | Neural formatting for spreadsheet tables | |
CN117217172B (zh) | 表格信息获取方法、装置、计算机设备、存储介质 | |
CN116702024B (zh) | 流水数据类型识别方法、装置、计算机设备和存储介质 | |
CN117095422B (zh) | 文档信息解析方法、装置、计算机设备、存储介质 | |
CN117173725B (zh) | 表格信息处理方法、装置、计算机设备和存储介质 | |
US11600028B1 (en) | Semantic resizing of line charts | |
CN117079084B (zh) | 样本图像的生成方法、装置、计算机设备和存储介质 | |
CN112818655B (zh) | 一种基于模板和文件追加写的excel数据处理方法和工具 | |
CN117953522A (zh) | 流水表格提取方法、装置、电子设备及存储介质 | |
CN117312574A (zh) | 一种信息提取方法、装置、设备及存储介质 | |
CN114297337A (zh) | 文本检测方法、装置、计算机设备和存储介质 | |
CN117521667A (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 |