CN111209736A - 文本文件解析方法、装置、计算机设备及存储介质 - Google Patents
文本文件解析方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111209736A CN111209736A CN202010006856.5A CN202010006856A CN111209736A CN 111209736 A CN111209736 A CN 111209736A CN 202010006856 A CN202010006856 A CN 202010006856A CN 111209736 A CN111209736 A CN 111209736A
- Authority
- CN
- China
- Prior art keywords
- data
- text
- text file
- analyzed
- field
- 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
- 238000004458 analytical method Methods 0.000 title claims abstract description 28
- 238000013507 mapping Methods 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000012795 verification Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及互联网技术领域,提供一种文本文件解析方法、装置、计算机设备及存储介质,所述方法包括:获取待解析的文本文件,其中,文本文件中包括待解析文本数据;依据映射表对待解析文本数据进行解析,得到与待解析文本数据对应的数据对象,其中,映射表用于表征待解析文本数据与数据对象之间的映射关系;将数据对象存入数据库。与现有技术相比,本发明实施例能够当文本格式中的数据列增加或者减少时无需要重新修改代码,只需要修改映射表,降低了维护成本,同时提高了文本文件解析方法的兼容度。
Description
技术领域
本发明涉及互联网技术领域,具体而言,涉及一种文本文件解析方法、装置、计算机设备及存储介质。
背景技术
在很多行业中,数据通常以文本格式进行处理和传递,以结构化的形式存储于数据库中,因此,在使用过程中通常需要将文本格式的数据解析成结构化数据,或者将结构化数据再转换成文本格式。
现有技术在解析文本格式的数据时,主要使用主流开放源码函式库进行文本格式的数据进行读写,然后将其组织成预设格式,这种实现方式下,当文本格式中的数据列增加或者减少时需要重新修改代码,兼容度差且维护成本高。
发明内容
本发明的目的在于提供了一种文本文件解析方法、装置、计算机设备及存储介质,其能够当文本格式中的数据列增加或者减少时无需要重新修改代码,只需要修改映射表,降低了维护成本,同时提高了文本文件解析方法的兼容度。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本实施例提供一种文本文件解析方法,应用于计算机设备,所述方法包括:获取待解析的文本文件,其中,文本文件中包括待解析文本数据;依据映射表对待解析文本数据进行解析,得到与待解析文本数据对应的数据对象,其中,映射表用于表征待解析文本数据与数据对象之间的映射关系;将数据对象存入数据库。
第二方面,本实施例提供一种文本文件解析装置,应用于计算机设备,所述装置包括获取模块、解析模块及存储模块,其中,获取模块,用于获取待解析的文本文件,其中,文本文件中包括待解析文本数据;解析模块,用于依据映射表对待解析文本数据进行解析,得到与待解析文本数据对应的数据对象,其中,映射表用于表征待解析文本数据与数据对象之间的映射关系;存储模块,用于将数据对象存入数据库。
第三方面,本实施例提供一种计算机设备,所述计算机设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前述实施方式中任一项所述的文本文件解析方法。
第四方面,本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中任一项所述的文本文件解析方法。
相对于现有技术,本发明实施例提供了一种文本文件解析方法、装置、计算机设备及存储介质,通过建立待解析文本数据与数据对象之间的映射关系,依据该映射关系对待解析文本数据进行解析,得到与待解析文本数据对应的数据对象,最后再把数据对象存入数据库,由于待解析文本数据与数据对象之间的映射关系保存至映射表中,因而可以在文本格式中的数据列增加或者减少而导致的待解析文本数据与数据对象之间的映射关系发生变化时,无需要重新修改代码,只需要修改映射表,降低了维护成本,同时提高了文本文件解析方法的兼容度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的现有技术中文本文件的处理过程的示意图。
图2示出了本发明实施例所提供的现有技术中文本文件处理过程中的数据组织的示例图。
图3示出了本发明实施例所提供的一种文本文件解析方法的流程图。
图4示出了本发明实施例所提供的另一种文本文件解析方法的流程图。
图5示出了本发明实施例所提供的文本文件解析过程的示意图。
图6示出了本发明实施例所提供的另一种文本文件解析方法的流程图。
图7示出了本发明实施例所提供的另一种文本文件解析方法的流程图。
图8示出了本发明实施例所提供的一种文本文件解析装置的结构框图。
图9示出了本发明实施例提供的计算机设备的方框示意图。
图标:10-计算机设备;11-存储器;12-通信接口;13-处理器;14-总线;100-文本文件解析装置;110-获取模块;120-解析模块;130-存储模块;140-导出模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
通常情况下,对文本文件的解析均采用单行解析,逐行读取文本文件中的数据,然后对每一行数据按照自定义格式进行组织,生成每一行数据对应的集合,自行实现从该集合写入至数据库的代码逻辑,最终将文本文件写入至存入数据库。请参照图1,图1示出了本发明实施例所提供的现有技术中文本文件的处理过程的示意图,另外,从数据库导出数据至文本文件的过程为该过程的逆过程,此处就不专门以图示说明。
需要说明的是,对于EXCEL类型的文本文件,可以通过SAX(Simple API for XML)模式进行逐行读取并解析,也可以通过提供良好封装的用户模式进行全部读取并解析,SAX模式依序读文件,可以处理任何大小的文件,但是不支持对文件的随意存储,用户模式可以随意存取文本文件中的数据,但是不适于处理大型的文本文件。
请参照图2,图2示出了本发明实施例所提供的现有技术中文本文件处理过程中的数据组织的示例图,文本文件中包括两行数据,每行数据包括4列,对每行数据进行解析,生成对应的链表LIST,将两行数据分别对应的LIST合并成LIST集合,按照每一列对应的字段名称的映射规则,生成该LIST集合对应的简单的JAVA对象POJO(Plain Ordinary JavaObject)集合,再将POJO集合写入至数据库。当文本文件中的列增加或者减少时,整个实现过程需要重新调整,对应的实现代码也要适应性修改,维护成本高,兼容度差。
另外,整个过程中解析、生成LIST,合并LIST集合、生成POJO集合,每一个步骤均涉及不同的预设接口函数,需要使用者熟知每一个预设接口函数,才能正确地利用预设接口函数完成文本文件的解析过程,实现过程复杂度高。
针对上述解析处理的过程中存在的问题,本发明实施例提供一种文本文件解析方法、装置、计算机设备及存储介质,在文本格式中的数据列增加或者减少而导致的待解析文本数据与数据对象之间的映射关系发生变化时,无需要重新修改代码,只需要修改映射表,降低了维护成本,同时提高了文本文件解析方法的兼容度,下面将对此进行详细介绍。
请参考图3,图3示出了本发明实施例所提供的一种文本文件解析方法的流程图,该方法包括:
步骤S101,获取待解析的文本文件,其中,文本文件中包括待解析文本数据。
在本实施例中,文本文件包括、但不限于TXT格式的文件、CSV格式的文件、EXCEL格式的文件。
步骤S102,依据映射表对待解析文本数据进行解析,得到与待解析文本数据对应的数据对象,其中,映射表用于表征待解析文本数据与数据对象之间的映射关系。
在本实施例中,数据对象为直接调用预设函数就可以存入数据库中的一种数据格式,例如,当基于JAVA结构时,数据对象可以是POJO对象结构。
步骤S103,将数据对象存入数据库。
本发明实施例提供的上述文本文件解析方法,通过将待解析文本数据与数据对象之间的映射关系抽象出来,生成映射表,一方面,在文本格式中的数据列增加或者减少而导致的待解析文本数据与数据对象之间的映射关系发生变化时,无需要重新修改代码,只需要修改映射表,降低了维护成本,同时提高了文本文件解析方法的兼容度,另一方面,可以灵活地根据字段标识或者字段号选择需要读取的内容,灵活度高。
基于图3,图4示出了本发明实施例所提供的另一种文本文件解析方法的流程图,步骤S102包括以下子步骤:
子步骤S1021,依据映射类型从解析文本数据中分离出与字段标识对应的字段值。
在本实施例中,文本文件可以包括字段标识及与字段标识对应的字段值,例如,EXCEL表格如表1所示:
表1
姓名 | 年龄 | 班级 |
王明 | 8 | 3 |
李建 | 9 | 4 |
字段标识有3个,分别为:姓名、年龄及班级。对于第一行来说,姓名对应的字段值为:王明;年龄对应的字段值为:8;班级对应的字段值为3。
在本实施例中,对于文本文件的读取是逐行读取,当基于JAVA结构时,可以使用POI(Apache软件基金会的开放源码函式库,提供给Java程序对Microsoft Office格式档案读和写的功能)、JAVAIO库(JAVA提供的全面的IO接口,包括文件读写、标准设备输出等)、JAVACSV(JAVA提供的对CSV格式文件的读写接口)等主流开放源码函数库进行文本文件中内容的读取。
在本实施例中,由于字段值可能是被错误写入文本文件中的数据,为了避免文本文件中的被错误写入的字段值继续被写入至数据库中,本实施例可以先将字段值进行校验,只有校验通过的字段值最终才会被写入数据库。因此,在分离出字段值之后、写入数据库之前,可以先对字段值进行校验,校验步骤参见子步骤S1022和子步骤S1023。
子步骤S1022,当校验规则中存在与字段标识对应的目标校验规则时,判断字段值是否被校验。
在本实施例中,校验规则可以独立于映射表存储,也可以存入映射表中存储。在JAVA结构中,常用的校验规则包括JSR-303,Hibernate Validator提供了JSR 303规范中所有内置constraint的实现,除此之外还有一些附加的constraint。
在本实施例中,数据对象还包括对象属性,对象属性可以为字段标识在数据库中的表示,例如,字段标识为:姓名,对应的对象属性为Name。
在本实施例中,校验规则包括属性校验规则和对象校验规则,属性校验规则是针对对象属性对应的字段值的校验规则,包括、但不限于非空校验、字典值校验及数字范围校验等。对象校验规则是针对数据对象之间的校验规则,例如,两个或者多个数据对象之间的某个字段值不能重复,例如,在一个班级学生的基本信息表中,任意两个学生的学号是不能重复的。
在本实施例中,作为一种对象校验规则的具体实施方式,可以在每个需要校验的行上标记唯一性校验器,在每个列上面进行HASHCODE标记,就会对需要校验的数据对象的对象属性进行HASHCODE编码,从而比较是否重复。
在本实施例中,作为一种具体实施方式,判断字段值是否被校验的方法可以是:
首先,若字段值存在于与字段标识对应的预设去重集合中,则判定字段值被校验。
其次,若字段值未存在于与字段标识对应的预设去重集合中,则判定字段值未被校验。
在本实施例中,每一字段标识对应一个预设去重集合,该预设去重集合中最终包括该字段标识所有不重复的字段值,例如,字段标识为年龄,文本文件中共有4行数据,年龄的取值分别为:6、7、6、8,则校验过程可以为:预设去重集合开始为空,对于第一行的年龄:6,由于未在预设去重集合中,则对该至进行校验,校验通过后,将6放入预设去重集合,对于第二行的年龄:7,未在预设去重集合中,则对该至进行校验,校验通过后,将7放入预设去重集合,此时,预设去重集合为:(6,7),对于第三行的年龄:6,由于6已经在预设去重集合中,则不再对其进行校验,对于第四行的年龄:8,由于未在预设去重集合中,则对该至进行校验,校验通过后,将8放入预设去重集合,最终该字段标识对应的预设去重集合中的值为:(6,7,8)。
子步骤S1023,当字段值未被校验时,依据目标校验规则校验字段值。
在本实施例中,每一字段标识可以对应至少一个规则,校验规则可以包括多个字段标识对应的多个规则,与当前待校验的字段值的字段标识对应校验规则为目标校验规则,例如,字段标识A对应规则a和b,字段标识B对应规则c,校验规则为:(A->(a,b);B->c),对于字段标识A的字段值,其目标校验规则为(a,b)。
子步骤S1024,当字段值未被校验时,将字段值放入与字段标识对应的预设去重集合中。
在本实施例中,为了保证文本文件中待解析的文本数据的正确性的同时,保证解析的效率,可以使后续相同的字段值不再进行校验,因此,本发明实施例在对未校验的字段值进行校验后,还将其放入与该字段值的字段标识对应的预设去重集合中。
子步骤S1025,依据映射关系生成初始对象,并用字段值为初始对象的对象属性赋值,得到与待解析文本数据对应的数据对象。
在本实施例中,对于校验未通过的字段值,可以直接将该字段值对应的这一行的数据丢弃,也可以直接终止当前文本文件解析。
在本实施例中,映射表包括映射类型及字段标识与对象属性之间的映射关系,映射类型可以是按照字段标识的列号进行解析,或者是按照字段标识的名字顺序进行解析,如上述表1中,姓名、年龄、班级的列号分别为1、2、3,解析时可以按照列号顺序进行解析,依次解析姓名、年龄、班级,也可以按照字段标识的名字顺序(例如每个字段的首个拼音字母的预设顺序)进行解析,例如依次解析班级、年龄、姓名。
需要说明的是,映射表中还可以包括待解析文本文件的格式类型,例如,TXT格式、EXCEL格式、CSV格式等。
为了更清楚地表示本方案的解析过程,图5示出了本发明实施例所提供的文本文件解析过程的示意图。图5中,虚线框对应图1中的数据组织的处理过程,以上述表1为例,在JAVA结构下,映射表见表2:
表2
其中,映射类型为0,表示按照标识序号进行解析。
表1对应的POJO集合可以为:{(王明,8,3);(李建,9,4)},对应的POJO对象可以为:
{
Name:王明;
年龄:8;
班级:3
}和
{
Name:李建;
年龄:8;
班级:4
}。
本发明实施例提供的上述文本文件解析方法,与现有技术相比具有以下效果:第一,采用映射表的方式,可以灵活地根据字段标识或者字段号选择需要读取的内容,灵活度高;第二,对于不同的类型的文本文件可以统一实现,降低了代码的重复度,进而降低了维护成本,第三,利用属性校验规则和对象校验规则分别对字段值及数据对象进行校验,避免错误写入文本文件的待解析文本数据写入数据库中,对***造成影响,第四,通过采用预设去重集合,避免相同的字段值被重复校验,在保证写入数据库的数据的可靠性的同时,保证了文本文件解析的效率。
在本实施例中,在文本文件中待解析数据量非常大的情况下(文本文件中的行数或列数过多),如果采用全部读取到内存中解析会占用很大内存和CPU资源,为了减少此场景下内存的占用,本发明实施例还提供另一种文本文件解析方法,请参照图6,图6示出了本发明实施例所提供的另一种文本文件解析方法的流程图,步骤S103包括以下子步骤:
子步骤S1031,将数据对象存入临时文件。
在本实施例中,临时文件还可以用Rest等缓存数据库代替,用于临时缓存数据对象。
子步骤S1032,依次从临时文件中读取预设数量的数据对象,并将读取到的预设数量的数据对象存入数据库中,直至临时文件中的所有数据对象均存入数据库。
在本实施例中,预设数量根据临时文件的大小确定,例如预设数量设置为1万条,对于100万行的EXCEL文件,每次读取1万条(即1万行数据),放入临时文件中,将临时文件中的1万条数据存入数据库中,再处理后续的1万条,直至100万行的数据全部存入数据库。
需要说明的是,图6中的子步骤S1031和子步骤S1032也可以和图4配合使用,替换图4中的步骤S103,图4中的子步骤S1021~S1024也可以和图6配合使用,替换图6中的步骤S102。
本发明实施例提供的上述文本文件解析方法,通过引入临时文件,将数据对象先分批暂存临时文件,再从临时文件中写入数据库,避免了文本文件为超大文件的场景下对内存占用过多的问题。
在本实施例中,除了将文本文件写入数据库,根据应用场景的需求,还需要将数据库中的数据导出,写入文本文件中,这一过程可以认为是上述过程的逆过程,因此,本发明实施例还另一种文本文件解析方法,请参照图7,图7示出了本发明实施例所提供的另一种文本文件解析方法的流程图,该方法包括以下步骤:
步骤S201,从数据库中读取数据对象。
步骤S202,依据映射表对数据对象进行解析,生成对应的文本数据。
在本实施例中,依据映射表确定与数据对象的对象属性对应的字段标识,再将对象属性对应的值作为该字段标识对应的字段值写入文本文件,具体过程是上述从文本文件到数据对象的转换过程的逆过程,本领域技术人员可以依据前述揭示的方法在不付出创造性劳动的基础上获取得到,此处不再赘述。
步骤S203,将文本数据按照预设格式写入文本文件。
在本实施例中,预设格式可以、但不限于TXT格式、EXCEL格式及CSV格式等。
本发明实施例提供的上述文本文件解析方法,可以将数据从数据库中导出,以预设格式写入文本文件,提高了文本文件解析方法的适用的灵活性。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种应用于计算机设备的文本文件解析装置的方框示意图的实现方式,请参看图8,图8示出了本发明实施例提供的应用于计算机设备的文本文件解析装置100的方框示意图。需要说明的是,本实施例所提供的应用于计算机设备的文本文件解析装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出,可参考上述实施例中的相应内容。
文本文件解析装置100包括获取模块110、解析模块120、存储模块130及导出模块140。
获取模块110,用于获取待解析的文本文件,其中,文本文件中包括待解析文本数据。
解析模块120,用于依据映射表对待解析文本数据进行解析,得到与待解析文本数据对应的数据对象,其中,映射表用于表征待解析文本数据与数据对象之间的映射关系。
具体地,文本文件还包括字段标识及与字段标识对应的字段值,数据对象还包括对象属性,映射表包括映射类型及字段标识与对象属性之间的映射关系,解析模块120具体用于:依据映射类型从解析文本数据中分离出与字段标识对应的字段值;依据映射关系生成初始对象,并用字段值为初始对象的对象属性赋值,得到与待解析文本数据对应的数据对象。
具体地,映射表还包括校验规则,解析模块120在执行依据所述映射类型从所述解析文本数据中分离出与所述字段标识对应的字段值的步骤之后,当校验规则中存在与字段标识对应的目标校验规则时,解析模块120判断字段值是否被校验;当字段值未被校验时,解析模块120依据目标校验规则校验字段值。
具体地,解析模块120判断字段值是否被校验时,还用于:若字段值存在于与字段标识对应的预设去重集合中,则解析模块120判定字段值被校验;若字段值未存在于与字段标识对应的预设去重集合中,则解析模块120判定字段值未被校验。
具体地,当字段值未被校验时,解析模块120依据目标校验规则校验所述字段值之后还用于:将字段值放入与字段标识对应的预设去重集合中。
存储模块130,用于将数据对象存入数据库。
具体地,存储模块130还用于:将数据对象存入临时文件;依次从临时文件中读取预设数量的数据对象,并将读取到的预设数量的数据对象存入数据库中,直至临时文件中的所有数据对象均存入数据库。
导出模块140,用于:从数据库中读取数据对象;依据映射表对数据对象进行解析,生成对应的文本数据;将文本数据按照预设格式写入文本文件。
本实施例提供一种计算机设备,请参照图9,图9示出了本发明实施例提供的计算机设备10的方框示意图。计算机设备10可以是一个主机或服务器等实体的计算机,也可以是多个主机组成的主机组,或者是多个服务器组成的服务器组,还可以是能够实现与实体的计算机具有相同功能的虚拟主机或者虚拟服务器、或者虚拟主机组或者虚拟服务器组。计算机设备10还包括存储器11、通信接口12、处理器13和总线14。存储器11、通信接口12,处理器13通过总线14连接。
存储器11用于存储程序,例如图8中的文本文件解析装置100,该文本文件解析装置100包括至少一个可以软件或固件(firmware)的形式存储于存储器11中的软件功能模块,处理器13在接收到执行指令后,执行所述程序以实现上述实施例揭示的文本文件解析方法。
存储器11可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非易失存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器11可以是内置于处理器13中的存储装置,也可以是独立于处理器13的存储装置。
通过至少一个通信接口12(可以是有线或者无线)实现与其他外部设备之间的通信连接。
总线14可以是ISA总线、PCI总线或EISA总线等。图9仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器13可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器13中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器13可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
综上所述,本发明实施例提供了一种文本文件解析方法、装置、计算机设备及存储介质,所述方法包括:获取待解析的文本文件,其中,文本文件中包括待解析文本数据;依据映射表对待解析文本数据进行解析,得到与待解析文本数据对应的数据对象,其中,映射表用于表征待解析文本数据与数据对象之间的映射关系;将数据对象存入数据库。与现有技术相比,本发明实施例能够当文本格式中的数据列增加或者减少时无需要重新修改代码,只需要修改映射表,降低了维护成本,同时提高了文本文件解析方法的兼容度。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种文本文件解析方法,其特征在于,应用于计算机设备,所述方法包括:
获取待解析的文本文件,其中,所述文本文件中包括待解析文本数据;
依据映射表对所述待解析文本数据进行解析,得到与所述待解析文本数据对应的数据对象,其中,所述映射表用于表征所述待解析文本数据与所述数据对象之间的映射关系;
将所述数据对象存入数据库。
2.如权利要求1所述的文本文件解析方法,其特征在于,所述文本文件还包括字段标识及与所述字段标识对应的字段值,所述数据对象还包括对象属性,所述映射表包括映射类型及所述字段标识与所述对象属性之间的映射关系,所述依据映射表对所述待解析文本数据进行解析,得到与所述待解析文本数据对应的数据对象的步骤包括:
依据所述映射类型从所述解析文本数据中分离出与所述字段标识对应的字段值;
依据所述映射关系生成初始对象,并用所述字段值为所述初始对象的对象属性赋值,得到与所述待解析文本数据对应的数据对象。
3.如权利要求2所述的文本文件解析方法,其特征在于,所述映射表还包括校验规则,所述依据所述映射类型从所述解析文本数据中分离出与所述字段标识对应的字段值的步骤之后还包括:
当所述校验规则中存在与所述字段标识对应的目标校验规则时,判断所述字段值是否被校验;
当所述字段值未被校验时,依据所述目标校验规则校验所述字段值。
4.如权利要求3所述的文本文件解析方法,其特征在于,所述判断所述字段值是否被校验的步骤包括:
若所述字段值存在于与所述字段标识对应的预设去重集合中,则判定所述字段值被校验;
若所述字段值未存在于与所述字段标识对应的预设去重集合中,则判定所述字段值未被校验。
5.如权利要求4所述的文本文件解析方法,其特征在于,所述当所述字段值未被校验时,依据所述目标校验规则校验所述字段值的步骤之后还包括:
将所述字段值放入与所述字段标识对应的预设去重集合中。
6.如权利要求3-5任一项所述的文本文件解析方法,其特征在于,所述校验规则包括属性校验规则和对象校验规则。
7.如权利要求1所述的文本文件解析方法,所述将所述数据对象存入数据库的步骤还包括:
将所述数据对象存入临时文件;
依次从所述临时文件中读取预设数量的数据对象,并将读取到的预设数量的所述数据对象存入所述数据库中,直至所述临时文件中的所有数据对象均存入所述数据库。
8.如权利要求1所述的文本文件解析方法,所述方法还包括:
从所述数据库中读取数据对象;
依据所述映射表对所述数据对象进行解析,生成对应的文本数据;
将所述文本数据按照预设格式写入文本文件。
9.一种文本文件解析装置,其特征在于,应用于计算机设备,所述装置包括:
获取模块,用于获取待解析的文本文件,其中,所述文本文件中包括待解析文本数据;
解析模块,用于依据映射表对所述待解析文本数据进行解析,得到与所述待解析文本数据对应的数据对象,其中,所述映射表用于表征所述待解析文本数据与所述数据对象之间的映射关系;
存储模块,用于将所述数据对象存入数据库。
10.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1~8中任一项所述的文本文件解析方法。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该计算机程序被处理器执行时实现如权利要求1~8中任一项所述的文本文件解析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010006856.5A CN111209736A (zh) | 2020-01-03 | 2020-01-03 | 文本文件解析方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010006856.5A CN111209736A (zh) | 2020-01-03 | 2020-01-03 | 文本文件解析方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111209736A true CN111209736A (zh) | 2020-05-29 |
Family
ID=70786628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010006856.5A Pending CN111209736A (zh) | 2020-01-03 | 2020-01-03 | 文本文件解析方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111209736A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949716A (zh) * | 2020-08-11 | 2020-11-17 | 北京锐安科技有限公司 | 格式化数据输出字段处理方法、计算机设备及存储介质 |
CN112632332A (zh) * | 2021-01-04 | 2021-04-09 | 恩亿科(北京)数据科技有限公司 | 一种xml文件可配置化校验方法、***、设备及存储介质 |
CN112925749A (zh) * | 2021-02-20 | 2021-06-08 | 北京同邦卓益科技有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
WO2023277821A1 (en) * | 2021-07-01 | 2023-01-05 | Garena Online Private Limited | Platform to automate creation of serialised data objects for import into a game engine |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030208493A1 (en) * | 2002-04-12 | 2003-11-06 | Hall Bradley S. | Object relational database management system |
US20050086235A1 (en) * | 2003-10-17 | 2005-04-21 | International Business Machines Corporation | Configurable flat file data mapping to a datasbase |
US20070168380A1 (en) * | 2006-01-17 | 2007-07-19 | International Business Machines Corporation | System and method for storing text annotations with associated type information in a structured data store |
US20140082033A1 (en) * | 2012-09-14 | 2014-03-20 | Salesforce.Com, Inc. | Methods and systems for managing files in an on-demand system |
CN107145537A (zh) * | 2017-04-21 | 2017-09-08 | 上海斐讯数据通信技术有限公司 | 一种表格数据导入方法及*** |
CN108009282A (zh) * | 2017-12-22 | 2018-05-08 | 武汉楚鼎信息技术有限公司 | 一种json数据同步到关系型数据库的方法及***装置 |
CN108984177A (zh) * | 2018-06-21 | 2018-12-11 | 中国铁塔股份有限公司 | 一种数据处理方法及*** |
CN109299183A (zh) * | 2018-11-20 | 2019-02-01 | 北京锐安科技有限公司 | 一种数据处理方法、装置、终端设备和存储介质 |
CN109670053A (zh) * | 2018-12-25 | 2019-04-23 | 北京锐安科技有限公司 | 数据对象映射方法、装置、设备和计算机可读存储介质 |
-
2020
- 2020-01-03 CN CN202010006856.5A patent/CN111209736A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030208493A1 (en) * | 2002-04-12 | 2003-11-06 | Hall Bradley S. | Object relational database management system |
US20050086235A1 (en) * | 2003-10-17 | 2005-04-21 | International Business Machines Corporation | Configurable flat file data mapping to a datasbase |
US20070168380A1 (en) * | 2006-01-17 | 2007-07-19 | International Business Machines Corporation | System and method for storing text annotations with associated type information in a structured data store |
US20140082033A1 (en) * | 2012-09-14 | 2014-03-20 | Salesforce.Com, Inc. | Methods and systems for managing files in an on-demand system |
CN107145537A (zh) * | 2017-04-21 | 2017-09-08 | 上海斐讯数据通信技术有限公司 | 一种表格数据导入方法及*** |
CN108009282A (zh) * | 2017-12-22 | 2018-05-08 | 武汉楚鼎信息技术有限公司 | 一种json数据同步到关系型数据库的方法及***装置 |
CN108984177A (zh) * | 2018-06-21 | 2018-12-11 | 中国铁塔股份有限公司 | 一种数据处理方法及*** |
CN109299183A (zh) * | 2018-11-20 | 2019-02-01 | 北京锐安科技有限公司 | 一种数据处理方法、装置、终端设备和存储介质 |
CN109670053A (zh) * | 2018-12-25 | 2019-04-23 | 北京锐安科技有限公司 | 数据对象映射方法、装置、设备和计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
唐红梅,郑刚: "基于XML数据库的存储及映射研究" * |
陈静;何香玲;: "测震数据对象关系映射软件包设计" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949716A (zh) * | 2020-08-11 | 2020-11-17 | 北京锐安科技有限公司 | 格式化数据输出字段处理方法、计算机设备及存储介质 |
CN112632332A (zh) * | 2021-01-04 | 2021-04-09 | 恩亿科(北京)数据科技有限公司 | 一种xml文件可配置化校验方法、***、设备及存储介质 |
CN112925749A (zh) * | 2021-02-20 | 2021-06-08 | 北京同邦卓益科技有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
WO2023277821A1 (en) * | 2021-07-01 | 2023-01-05 | Garena Online Private Limited | Platform to automate creation of serialised data objects for import into a game engine |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111209736A (zh) | 文本文件解析方法、装置、计算机设备及存储介质 | |
CN111428462B (zh) | 通讯协议模板构建的方法及终端设备 | |
CN112015430B (zh) | JavaScript代码翻译方法、装置、计算机设备及存储介质 | |
CN110188135B (zh) | 文件生成方法及设备 | |
CN110990276A (zh) | 接口字段自动化测试方法、装置和存储介质 | |
CN110928802A (zh) | 基于自动生成用例的测试方法、装置、设备及存储介质 | |
CN111563218B (zh) | 一种页面的修复方法及装置 | |
CN111273891A (zh) | 基于规则引擎的业务决策方法、装置及终端设备 | |
JP2017174418A (ja) | モデルチェックのためのデータ構造抽象化 | |
CN111475494A (zh) | 一种海量数据处理方法、***、终端及存储介质 | |
CN114676040A (zh) | 一种测试覆盖率验证方法、装置及存储介质 | |
CN112181430A (zh) | 代码变更统计方法、装置、电子设备及存储介质 | |
CN110888972A (zh) | 一种基于Spark Streaming的敏感内容识别方法及装置 | |
CN109558315B (zh) | 测试范围的确定方法、装置及设备 | |
CN113050921A (zh) | 一种网页转换方法、装置、存储介质和计算机设备 | |
CN111159040A (zh) | 一种测试数据生成方法、装置、设备及存储介质 | |
CN110795464A (zh) | 对象标记数据的字段校验方法、装置、终端及存储介质 | |
CN110633258A (zh) | 日志***方法、装置、计算机装置及存储介质 | |
CN113391972A (zh) | 一种接口测试方法及装置 | |
CN117493309A (zh) | 一种标准模型生成方法、装置、设备及存储介质 | |
CN111078529B (zh) | 客户端写入模块测试方法、装置、电子设备 | |
CN110516258B (zh) | 数据校验方法及装置、存储介质、电子装置 | |
CN111897833A (zh) | 数据处理方法及装置 | |
CN116661758A (zh) | 一种优化日志框架配置的方法、装置、电子设备及介质 | |
CN109324838B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200529 |