CN114281761A - 一种数据文件加载方法、装置、计算机设备及存储介质 - Google Patents
一种数据文件加载方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114281761A CN114281761A CN202111570058.6A CN202111570058A CN114281761A CN 114281761 A CN114281761 A CN 114281761A CN 202111570058 A CN202111570058 A CN 202111570058A CN 114281761 A CN114281761 A CN 114281761A
- Authority
- CN
- China
- Prior art keywords
- data file
- data
- content
- line
- extracted
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据文件加载方法、装置、计算机设备及存储介质。该数据文件加载方法包括:获取加载到内存中的待提取数据文件内容,并确定所述待提取数据文件内容的分割字符;根据所述分割字符逐行对所述待提取数据文件内容进行解析,并生成List数据结构对应的目标数据文件内容;基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验,并对每列数据的数据长度进行统计;根据校验后的所述目标数据文件内容以及统计的每列数据的数据长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构。本发明实施例的技术方案,以实现自动完成数据文件内容的解析,适配通用的结构化数据文件,减少开发工作量。
Description
技术领域
本发明实施例涉及数据分析技术领域,尤其涉及一种数据文件加载方法、装置、计算机设备及存储介质。
背景技术
在银行内日常应用开发中,有导入数据的需求时,数据一般由外部系统提供。数据文件及内容格式通常是文本类型文件,文件内容中是以行为单位表示的一条条结构化数据,一条数据中会按照约定好的特殊符号将数据项拼接而成,例如,以分隔符号为|!为例,内容如下:
001|!张三|!13500000001|!20|!北京市丰台区
002|!李四|!13500000002|!21|!北京市东城区
..........
通常情况下,对于将上述文件持久化入数据库的业务需求,提供文件的组织单位会在提供文件数据前,先提供一个针对该业务文件的表结构说明文档。开发人员会根据该表结构说明文档在数据库中创建数据表结构,进而开发数据导入程序,最终完成业务需求。
上述表结构创建方式虽然可以满足业务实现需要,但会浪费过多的存储空间和资源,处理方式不灵活;此外,在某些情况下,例如历史文件数据没有负责维护的组织单位、系统运行状态下实时提供的动态业务数据无法事先人工完成表结构的创建等情况,均不具备先根据说明文档进行表结构创建,再插入数据的处理条件。
发明内容
本发明实施例提供一种数据文件加载方法、装置、计算机设备及存储介质,以实现自动完成数据文件内容的解析,适配通用的结构化数据文件,减少开发工作量。
第一方面,本发明实施例提供了一种数据文件加载方法,该数据文件加载方法包括:
获取加载到内存中的待提取数据文件内容,并确定所述待提取数据文件内容的分割字符;
根据所述分割字符逐行对所述待提取数据文件内容进行解析,并生成List数据结构对应的目标数据文件内容;
基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验,并对每列数据的数据长度进行统计;
根据校验后的所述目标数据文件内容以及统计的每列数据的数据长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构。
进一步的,确定所述待提取数据文件内容的分割字符,包括:
获取通用分割字符,并根据所述通用分割字符对分割后的所述待提取数据文件内容各行数据列个数,确定所述待提取数据文件内容的分割字符。
进一步的,生成List数据结构对应的目标数据文件内容,包括:
将解析后的所述待提取数据文件内容的每行数据为一个String数组;
将每行数据对应的String数组按顺序在List数据结构中存储,并生成List数据结构对应的目标数据文件内容。
进一步的,在基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验之前,还包括:
获取所述目标数据文件内容的字段类型,并为每种字段类型生成与其对应的正则表达式;
基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验,包括:
遍历所述List数据结构对应的目标数据文件内容,逐行对所述目标数据文件内容的每列数据的字段类型基于正则表达式进行校验。
进一步的,在基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验之后,还包括:
若所述目标数据文件内容的当前列数据的字段类型不符合预设字段类型范围集合,则将当前列数据对应的字段类型去除;
若所述目标数据文件内容的当前列数据的字段类型符合预设字段类型范围集合,则将当前列数据对应的字段类型保留。
进一步的,在对每列数据的数据长度进行统计之后,还包括:
将每列数据对应的数据值中最大的数据长度,作为字段定义长度;
根据校验后的所述目标数据文件内容以及统计的每列数据的数据长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构,包括:
根据校验后的所述目标数据文件内容以及所述字段定义长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构。
进一步的,所述数据文件加载方法还包括:
根据所述表结构执行所述待提取数据文件内容对应的数据插入操作。
第二方面,本发明实施例还提供了一种数据文件加载装置,该数据文件加载装置包括:
文件内容提取模块,用于获取加载到内存中的待提取数据文件内容,并确定所述待提取数据文件内容的分割字符;
目标数据文件内容生成模块,用于根据所述分割字符逐行对所述待提取数据文件内容进行解析,并生成List数据结构对应的目标数据文件内容;
表结构分析模块,用于基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验,并对每列数据的数据长度进行统计;
表结构生成模块,用于根据校验后的所述目标数据文件内容以及统计的每列数据的数据长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构。
第三方面,本发明实施例还提供了一种计算机设备,该计算机设备包括:
一个或多个处理器;
存储装置,用于存储多个程序,
当所述多个程序中的至少一个被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本发明第一方面实施例所提供的一种数据文件加载方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第一方面实施例所提供的一种数据文件加载方法。
本发明实施例的技术方案,通过获取加载到内存中的待提取数据文件内容,并确定所述待提取数据文件内容的分割字符;根据所述分割字符逐行对所述待提取数据文件内容进行解析,并生成List数据结构对应的目标数据文件内容;基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验,并对每列数据的数据长度进行统计;根据校验后的所述目标数据文件内容以及统计的每列数据的数据长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构。解决了当前表结构创建方式浪费存储空间和资源,处理方式不灵活,且均不具备先根据说明文档进行表结构创建,再插入数据的处理条件的问题,以实现自动完成数据文件内容的解析,适配通用的结构化数据文件,减少开发工作量。
附图说明
图1是本发明实施例一提供的一种数据文件加载方法的流程图;
图2是本发明实施例二提供的一种数据文件加载方法的流程图;
图3是本发明实施例提供的一种数据文件加载方法的阶段流程图;
图4是本发明实施例三提供的一种数据文件加载装置的结构图;
图5是本发明实施例四提供的一种计算机设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一提供的一种数据文件加载方法的流程图,本实施例可适用于基于数据文件中各列的内容实时完成表结构创建的情况,该数据文件加载方法可以由数据文件加载装置来执行,该数据文件加载装置可以通过软件和/或硬件的形式实现。该数据文件加载方法具体包括如下步骤:
S110、获取加载到内存中的待提取数据文件内容,并确定所述待提取数据文件内容的分割字符。
其中,待提取数据文件内容为外部系统提供的数据文件,待提取数据文件内容可以为文本类型文件。
具体的,通过文件IO读取方式,将待提取数据文件内容加载到内存中,进而可以获取加载到内存中的待提取数据文件内容。
需要说明的是,文件IO读取方式可以是按照字节读取文件,按照字节读取文件多数用于读取文本类型文件。
在上述实施例的基础上,确定所述待提取数据文件内容的分割字符,包括:获取通用分割字符,并根据所述通用分割字符对分割后的所述待提取数据文件内容各行数据列个数,确定所述待提取数据文件内容的分割字符。
其中,通用分割字符可以为现有的通用分割符号,例如通用分割字符可以为|!,@@等符号。
具体的,在不明确分隔符号的情况下,获取通用分割字符,通过通用分割字符对所述待提取数据文件内容中的分割符号进行轮询判断,取分割后的所述待提取数据文件内容各行数据列个数中最相近的分割符号,将该分割符号作为当前待提取数据文件内容的分割符号。
S120、根据所述分割字符逐行对所述待提取数据文件内容进行解析,并生成List数据结构对应的目标数据文件内容。
其中,目标数据文件内容为对待提取数据文件内容判断完分割字符,且依据判断出的分割符,逐行进行解析后,生成的List数据结构的数据文件内容。
具体的,根据已确定所述待提取数据文件内容的分割字符,逐行对所述待提取数据文件内容进行解析,将解析后的所述待提取数据文件内容的每行数据作为一个String数组,将每行数据对应的String数组按顺序在List数据结构中存储,并生成List数据结构对应的目标数据文件内容。
S130、基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验,并对每列数据的数据长度进行统计。
其中,正则表达式又称规则表达式,正则表达式通常被用来检索、替换那些符合某个模式或规则的文本。
进一步的,在基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验之前,还包括:获取所述目标数据文件内容的字段类型,并为每种字段类型生成与其对应的正则表达式。
其中,字段类型可以为预先设定的数据文件内容可支持的字段类型,例如,字段类型可以为字符串类型varchar、整数值类型int、小数值类型decimal或日期类型datetime等中的一种或多种组合得到,具体数据文件内容可支持的字段类型可根据实际业务扩展进行选择设置。
可以理解的是,每个字段类型可以分别对应一个正则表达式。
具体的,基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验,包括:遍历所述List数据结构对应的目标数据文件内容,逐行对所述目标数据文件内容的每列数据的字段类型基于正则表达式进行校验。
进一步的,若所述目标数据文件内容的当前列数据的字段类型不符合预设字段类型范围集合,则将当前列数据对应的字段类型去除;若所述目标数据文件内容的当前列数据的字段类型符合预设字段类型范围集合,则将当前列数据对应的字段类型保留。
在本实施例中,可以针对每一列的字段类型,预先定义一个预设字段类型范围集合。
当对所述目标数据文件内容的当前列数据的字段类型基于正则表达式进行校验不通过,即所述目标数据文件内容的当前列数据的字段类型不符合预设字段类型范围集合时,将当前列数据对应的字段类型去除,即下一行对应当前列数据的该列不需要针对该字段类型进行重复判断。
当对所述目标数据文件内容的当前列数据的字段类型基于正则表达式进行校验通过,即所述目标数据文件内容的当前列数据的字段类型符合预设字段类型范围集合时,则将当前列数据对应的字段类型保留。
可以理解的是,在基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验之后,最终保留的字段类型,即是满足当前数据列格式的字段类型。
另外需要说明的是,如果最终保留的字段类型为空,则目标数据文件内容的字段类型可以使用默认的varchar类型。
S140、根据校验后的所述目标数据文件内容以及统计的每列数据的数据长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构。
在上述实施例的基础上,在对每列数据的数据长度进行统计之后,还包括:将每列数据对应的数据值中最大的数据长度,作为字段定义长度,以满足该列中所有数据的长度需要。
具体的,根据校验后的所述目标数据文件内容以及所述字段定义长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构。
进一步的,在上述实施例的基础上,根据所述表结构执行所述待提取数据文件内容对应的数据插入操作。
具体的,根据待提取数据文件内容的数据量大小,采用单条或批量的方式执行数据插入操作。
需要说明的是,对于数据插入操作失败的问题的行数据可以单独进行记录及汇总,并在生成的数据导入结果文件中进行体现说明,数据导入结果文件即为包含表结构的待提取数据文件内容。
本发明实施例的技术方案,通过获取加载到内存中的待提取数据文件内容,并确定所述待提取数据文件内容的分割字符;根据所述分割字符逐行对所述待提取数据文件内容进行解析,并生成List数据结构对应的目标数据文件内容;基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验,并对每列数据的数据长度进行统计;根据校验后的所述目标数据文件内容以及统计的每列数据的数据长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构。解决了当前表结构创建方式浪费存储空间和资源,处理方式不灵活,且均不具备先根据说明文档进行表结构创建,再插入数据的处理条件的问题,以实现自动完成数据文件内容的解析,适配通用的结构化数据文件,减少开发工作量。
实施例二
图2为本发明实施例二提供的一种数据文件加载方法的流程图,图3是本发明实施例提供的一种数据文件加载方法的阶段流程图,本实施例以上述实施例为基础进行优化。
相应的,本实施例的方法具体包括:
S210、获取通过文件IO读取方式加载到内存中的待提取数据文件内容。
示例性的,参见图3,步骤S210作为本实施例的数据文件加载方法的文件加载阶段,通过文件IO读取方式将待提取数据文件内容加载到内存中,进而可以获取加载到内存中的待提取数据文件内容。
S211、获取通用分割字符,并根据所述通用分割字符对分割后的所述待提取数据文件内容各行数据列个数,确定所述待提取数据文件内容的分割字符。
S212、根据所述分割字符逐行对所述待提取数据文件内容进行解析。
S213、将解析后的所述待提取数据文件内容的每行数据为一个String数组。
S214、将每行数据对应的String数组按顺序在List数据结构中存储,并生成List数据结构对应的目标数据文件内容。
示例性的,参见图3,步骤S211至步骤S214作为本实施例的数据文件加载方法的文件内容提取阶段,先判断待提取数据文件内容的分割符号,进一步根据判断出的分割符号,逐行解析,提取待提取数据文件内容数据结构,并生成List数据结构对应的目标数据文件内容。
S215、获取所述目标数据文件内容的字段类型,并为每种字段类型生成与其对应的正则表达式。
S216、遍历所述List数据结构对应的目标数据文件内容,逐行对所述目标数据文件内容的每列数据的字段类型基于正则表达式进行校验,并对每列数据的数据长度进行统计。
进一步的,若所述目标数据文件内容的当前列数据的字段类型不符合预设字段类型范围集合,则将当前列数据对应的字段类型去除;若所述目标数据文件内容的当前列数据的字段类型符合预设字段类型范围集合,则将当前列数据对应的字段类型保留。
S217、将每列数据对应的数据值中最大的数据长度,作为字段定义长度。
S218、根据校验后的所述目标数据文件内容以及所述字段定义长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构。
示例性的,参见图3,步骤S215至步骤S218作为本实施例的数据文件加载方法的表结构分析及创建阶段,先进行字段类型分析,后进行字段长度分析,依据上述分析出来的信息,生成SQL语句并创建所述待提取数据文件内容对应的表结构。
S219、根据所述表结构执行所述待提取数据文件内容对应的数据插入操作。
示例性的,参见图3,步骤S215至步骤S218作为本实施例的数据文件加载方法的数据持久化阶段,根据所述表结构执行所述待提取数据文件内容对应的数据插入操作。
本发明实施例的技术方案,自动分析判断待提取数据文件内容中列数据的字段类型,分配合适的字段类型及数据长度,不浪费数据库空间,基于待提取数据文件内容中各列的内容判断分析出适配的字段类型,并实时完成表结构的创建,此外,自动的完成待提取数据文件内容的解析及入库,适配通用的结构化文件,减少开发工作量。
实施例三
图4为本发明实施例三提供的一种数据文件加载装置的结构图,本实施例可适用于基于数据文件中各列的内容实时完成表结构创建的情况。
如图4所示,所述数据文件加载装置包括:文件内容提取模块410、目标数据文件内容生成模块420、表结构分析模块430和表结构生成模块440,其中:
文件内容提取模块410,用于获取加载到内存中的待提取数据文件内容,并确定所述待提取数据文件内容的分割字符;
目标数据文件内容生成模块420,用于根据所述分割字符逐行对所述待提取数据文件内容进行解析,并生成List数据结构对应的目标数据文件内容;
表结构分析模块430,用于基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验,并对每列数据的数据长度进行统计;
表结构生成模块440,用于根据校验后的所述目标数据文件内容以及统计的每列数据的数据长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构。
本实施例的数据文件加载装置,通过获取加载到内存中的待提取数据文件内容,并确定所述待提取数据文件内容的分割字符;根据所述分割字符逐行对所述待提取数据文件内容进行解析,并生成List数据结构对应的目标数据文件内容;基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验,并对每列数据的数据长度进行统计;根据校验后的所述目标数据文件内容以及统计的每列数据的数据长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构。解决了当前表结构创建方式浪费存储空间和资源,处理方式不灵活,且均不具备先根据说明文档进行表结构创建,再插入数据的处理条件的问题,以实现自动完成数据文件内容的解析,适配通用的结构化数据文件,减少开发工作量。
在上述各实施例的基础上,确定所述待提取数据文件内容的分割字符,包括:
获取通用分割字符,并根据所述通用分割字符对分割后的所述待提取数据文件内容各行数据列个数,确定所述待提取数据文件内容的分割字符。
在上述各实施例的基础上,生成List数据结构对应的目标数据文件内容,包括:
将解析后的所述待提取数据文件内容的每行数据为一个String数组;
将每行数据对应的String数组按顺序在List数据结构中存储,并生成List数据结构对应的目标数据文件内容。
在上述各实施例的基础上,在基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验之前,还包括:
获取所述目标数据文件内容的字段类型,并为每种字段类型生成与其对应的正则表达式;
基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验,包括:
遍历所述List数据结构对应的目标数据文件内容,逐行对所述目标数据文件内容的每列数据的字段类型基于正则表达式进行校验。
在上述各实施例的基础上,在基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验之后,还包括:
若所述目标数据文件内容的当前列数据的字段类型不符合预设字段类型范围集合,则将当前列数据对应的字段类型去除;
若所述目标数据文件内容的当前列数据的字段类型符合预设字段类型范围集合,则将当前列数据对应的字段类型保留。
在上述各实施例的基础上,在对每列数据的数据长度进行统计之后,还包括:
将每列数据对应的数据值中最大的数据长度,作为字段定义长度;
根据校验后的所述目标数据文件内容以及统计的每列数据的数据长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构,包括:
根据校验后的所述目标数据文件内容以及所述字段定义长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构。
在上述各实施例的基础上,所述数据文件加载装置还包括:
根据所述表结构执行所述待提取数据文件内容对应的数据插入操作。
上述各实施例所提供的数据文件加载装置可执行本发明任意实施例所提供的数据文件加载方法,具备执行数据文件加载方法相应的功能模块和有益效果。
实施例四
图5为本发明实施例四提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括处理器510、存储器520、输入装置530和输出装置540;计算机设备中处理器510的数量可以是一个或多个,图5中以一个处理器510为例;计算机设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据文件加载方法对应的程序指令/模块(例如,数据文件加载装置中的文件内容提取模块410、目标数据文件内容生成模块420、表结构分析模块430和表结构生成模块440)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的数据文件加载方法。
存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据文件加载方法,该数据文件加载方法包括:
获取加载到内存中的待提取数据文件内容,并确定所述待提取数据文件内容的分割字符;
根据所述分割字符逐行对所述待提取数据文件内容进行解析,并生成List数据结构对应的目标数据文件内容;
基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验,并对每列数据的数据长度进行统计;
根据校验后的所述目标数据文件内容以及统计的每列数据的数据长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据文件加载方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述数据文件加载装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种数据文件加载方法,其特征在于,包括:
获取加载到内存中的待提取数据文件内容,并确定所述待提取数据文件内容的分割字符;
根据所述分割字符逐行对所述待提取数据文件内容进行解析,并生成List数据结构对应的目标数据文件内容;
基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验,并对每列数据的数据长度进行统计;
根据校验后的所述目标数据文件内容以及统计的每列数据的数据长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构。
2.根据权利要求1所述的数据文件加载方法,其特征在于,确定所述待提取数据文件内容的分割字符,包括:
获取通用分割字符,并根据所述通用分割字符对分割后的所述待提取数据文件内容各行数据列个数,确定所述待提取数据文件内容的分割字符。
3.根据权利要求1所述的数据文件加载方法,其特征在于,生成List数据结构对应的目标数据文件内容,包括:
将解析后的所述待提取数据文件内容的每行数据为一个String数组;
将每行数据对应的String数组按顺序在List数据结构中存储,并生成List数据结构对应的目标数据文件内容。
4.根据权利要求1所述的数据文件加载方法,其特征在于,在基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验之前,还包括:
获取所述目标数据文件内容的字段类型,并为每种字段类型生成与其对应的正则表达式;
基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验,包括:
遍历所述List数据结构对应的目标数据文件内容,逐行对所述目标数据文件内容的每列数据的字段类型基于正则表达式进行校验。
5.根据权利要求4所述的数据文件加载方法,其特征在于,在基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验之后,还包括:
若所述目标数据文件内容的当前列数据的字段类型不符合预设字段类型范围集合,则将当前列数据对应的字段类型去除;
若所述目标数据文件内容的当前列数据的字段类型符合预设字段类型范围集合,则将当前列数据对应的字段类型保留。
6.根据权利要求1所述的数据文件加载方法,其特征在于,在对每列数据的数据长度进行统计之后,还包括:
将每列数据对应的数据值中最大的数据长度,作为字段定义长度;
根据校验后的所述目标数据文件内容以及统计的每列数据的数据长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构,包括:
根据校验后的所述目标数据文件内容以及所述字段定义长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构。
7.根据权利要求1所述的数据文件加载方法,其特征在于,所述数据文件加载方法还包括:
根据所述表结构执行所述待提取数据文件内容对应的数据插入操作。
8.一种数据文件加载装置,其特征在于,包括:
文件内容提取模块,用于获取加载到内存中的待提取数据文件内容,并确定所述待提取数据文件内容的分割字符;
目标数据文件内容生成模块,用于根据所述分割字符逐行对所述待提取数据文件内容进行解析,并生成List数据结构对应的目标数据文件内容;
表结构分析模块,用于基于正则表达式逐行对所述目标数据文件内容的每列数据进行校验,并对每列数据的数据长度进行统计;
表结构生成模块,用于根据校验后的所述目标数据文件内容以及统计的每列数据的数据长度,生成SQL语句并创建所述待提取数据文件内容对应的表结构。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的数据文件加载方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的数据文件加载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111570058.6A CN114281761A (zh) | 2021-12-21 | 2021-12-21 | 一种数据文件加载方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111570058.6A CN114281761A (zh) | 2021-12-21 | 2021-12-21 | 一种数据文件加载方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114281761A true CN114281761A (zh) | 2022-04-05 |
Family
ID=80873407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111570058.6A Pending CN114281761A (zh) | 2021-12-21 | 2021-12-21 | 一种数据文件加载方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281761A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116384341A (zh) * | 2022-12-16 | 2023-07-04 | 西安航天动力试验技术研究所 | 一种发动机试验数据处理方法、存储介质、设备 |
-
2021
- 2021-12-21 CN CN202111570058.6A patent/CN114281761A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116384341A (zh) * | 2022-12-16 | 2023-07-04 | 西安航天动力试验技术研究所 | 一种发动机试验数据处理方法、存储介质、设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704539B (zh) | 大规模文本信息批量结构化的方法及装置 | |
CN113377653B (zh) | 生成测试用例的方法和装置 | |
CN107085568B (zh) | 一种文本相似度判别方法及装置 | |
CN111079408A (zh) | 一种语种识别方法、装置、设备及存储介质 | |
CN112559526A (zh) | 数据表导出方法、装置、计算机设备及存储介质 | |
CN112307318B (zh) | 一种内容发布方法、系统及装置 | |
CN111881094A (zh) | 日志中关键信息提取方法、装置、终端及存储介质 | |
CN114281761A (zh) | 一种数据文件加载方法、装置、计算机设备及存储介质 | |
CN114661686A (zh) | 日志文件的报文提取方法、装置、设备、介质和程序产品 | |
CN114691161A (zh) | 基于Key-Value的软件系统配置方法、装置及电子设备 | |
CN113821692A (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN110096478B (zh) | 文档索引生成方法及设备 | |
CN117093619A (zh) | 一种规则引擎处理方法、装置、电子设备及存储介质 | |
WO2021129849A1 (zh) | 日志处理方法、装置、设备和存储介质 | |
CN113204706B (zh) | 基于MapReduce的数据筛选抽取方法及系统 | |
CN115328898A (zh) | 一种数据处理方法、装置、电子设备及介质 | |
CN114936187A (zh) | 数据文件的处理方法、装置、设备及存储介质 | |
CN115033451A (zh) | 数据生成方法、数据处理方法、装置、电子设备及介质 | |
CA3144052A1 (en) | Method and apparatus for recognizing new sql statements in database audit systems | |
CN114979100A (zh) | 一种云资源检查方法及相关装置 | |
CN114115831A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN112784527A (zh) | 一种文档合并方法、装置及电子设备 | |
CN111949524A (zh) | 一种数据接口测试方法、装置、服务器和存储介质 | |
CN111401009A (zh) | 一种数字表情符识别转换方法、装置、服务器及存储介质 | |
CN110727897B (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 |