CN116049293B - 基于数据库配置实现解析csv文件方法、装置、设备及介质 - Google Patents
基于数据库配置实现解析csv文件方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116049293B CN116049293B CN202310291615.3A CN202310291615A CN116049293B CN 116049293 B CN116049293 B CN 116049293B CN 202310291615 A CN202310291615 A CN 202310291615A CN 116049293 B CN116049293 B CN 116049293B
- Authority
- CN
- China
- Prior art keywords
- data
- analysis
- file
- analyzed
- preset
- 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.)
- Active
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 196
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000004044 response Effects 0.000 claims abstract description 5
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 4
- 238000000926 separation method Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 9
- 238000006243 chemical reaction Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008676 import Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种基于数据库配置实现解析CSV文件方法、装置、设备及介质,应用于数据处理技术领域,其方法包括:响应于待解析CSV文件导入指令,接收待解析CSV文件;查询预设数据库中是否存在与所述待解析CSV文件相匹配的解析模板ID;若预设数据库中存在与所述待解析CSV文件相匹配的解析模板ID,则基于所述预设数据库查询所述解析模板ID对应的解析模板的格式配置信息;基于所述格式配置信息和预设解析器对所述待解析CSV文件进行解析,生成解析数据。本申请具有提高解析效率的效果。
Description
技术领域
本申请涉及数据处理的技术领域,尤其是涉及一种基于数据库配置实现解析CSV文件方法、装置、设备及介质。
背景技术
在报表、对账簿等文件进行CSV文件解析时,需要通过在代码里编写解析文件实现对文件的解析,对于具有大量字段的文件,在进行解析时需要对代码进行大量get&set操作,导致代码的编写量巨大,并且每次调整都需对代码进行修改、编译、打包、部署和更新,还要对代码流程进行复测等,有些项目上,代码部署是由相关负责人来进行部署,导致代码修改完成以后,每次还需要协调相关人员进行更新程序,在增加部分人员的工作量的同时也降低了整体的解析效率。
发明内容
为了提高解析效率,本申请提供一种基于数据库配置实现解析CSV文件方法、装置、设备及介质。
第一方面,本申请提供一种基于数据库配置实现解析CSV文件方法,采用如下的技术方案:
一种基于数据库配置实现解析CSV文件方法,包括:
响应于待解析CSV文件导入指令,接收待解析CSV文件;
查询预设数据库中是否存在与所述待解析CSV文件相匹配的解析模板ID;
若预设数据库中存在与所述待解析CSV文件相匹配的解析模板ID,则基于所述预设数据库查询所述解析模板ID对应的解析模板的格式配置信息;
基于所述格式配置信息和预设解析器对所述待解析CSV文件进行解析,生成解析数据。
通过采用上述技术方案,在接收到待解析CSV文件时,在预设数据库中找到与待解析CSV文件相匹配的解析模板ID,每个解析模板ID均对应有一个格式配置信息,格式配置信息跟待解析CSV文件的文件内容格式相匹配,解析时解析器可以根据格式配置信息直接对待解析CSV文件进行解析,并将解析数据存入数据库,在文件内容发生变化时可以直接在数据库中进行修改,无需再次编写大量的代码,从而提高了解析效率。
可选的,所述查询预设数据库中是否存在与所述待解析CSV文件相匹配的解析模板ID包括:
获取所述待解析CSV文件的上传接口;
判断所述预设数据库中是否存在与所述上传接口相对应的解析模板ID;
若所述预设数据库中存在与所述上传接口相对应的解析模板ID,则判定所述预设数据库中存在与所述待解析CSV文件相匹配的解析模板ID;
若所述预设数据库中不存在与所述上传接口相对应的解析模板ID,则判定所述预设数据库中不存在与所述待解析CSV文件相匹配的解析模板ID。
可选的,所述基于所述格式配置信息和预设解析器对所述待解析CSV文件进行解析,生成解析数据包括:
基于所述格式配置信息确定所述待解析CSV文件的解析执行规则;
获取所述待解析CSV文件的文件序列ID以及每个文件序列ID对应的文件序列内容;
基于所述解析执行规则将所述文件序列内容按照所述文件序列ID依次进行解析,生成多个解析数据。
可选的,还包括:
将所述多个解析数据按照解析顺序存储至所述预设数据库。
可选的,所述将所述多个解析数据按照解析顺序存储至所述预设数据库包括:
当有新的解析数据生成时,将所述新的解析数据添加到预设数据列表中,并将所述预设数据列表的数据数量增加1;
若至少满足一种预设条件,则将所述预设数据列表中的所有解析数据转存至所述预设数据库,并将所述数据数量清零,重复所述当有新的解析数据生成时,将所述新的解析数据添加到预设数据列表中,并将所述预设数据列表的数据数量增加1的步骤;
其中,所述预设条件包括所述数据数量不小于预设提交数量和所述新的解析数据为所述待解析CSV文件的最后一个解析数据。
可选的,在所述将所述新的解析数据添加到预设数据列表中之前,还包括:
基于预设配置需求判断所述解析数据是否需要进行转换;
若所述解析数据需要进行转换,则将所述解析数据进行格式转换。
可选的,在基于所述格式配置信息和预设解析器对所述待解析CSV文件进行解析,生成解析数据之后,还包括:
将所述解析数据存储至所述预设数据库。
第二方面,本申请提供一种基于数据库配置实现解析CSV文件方法,采用如下的技术方案:
一种基于数据库配置实现解析CSV文件装置,包括:
文件接收模块,用于响应于待解析CSV文件导入指令,接收待解析CSV文件;
模板查询模块,用于查询预设数据库中是否存在与所述待解析CSV文件相匹配的解析模板ID;
配置查询模块,用于基于所述预设数据库查询所述解析模板ID对应的解析模板的格式配置信息;
文件解析模块,用于基于所述格式配置信息和预设解析器对所述待解析CSV文件进行解析,生成解析数据。
通过采用上述技术方案,在接收到待解析CSV文件时,在预设数据库中找到与待解析CSV文件相匹配的解析模板ID,每个解析模板ID均对应有一个格式配置信息,格式配置信息跟待解析CSV文件的文件内容格式相匹配,解析时解析器可以根据格式配置信息直接对待解析CSV文件进行解析,并将解析数据存入数据库,在文件内容发生变化时可以直接在数据库中进行修改,无需再次编写大量的代码,从而提高了解析效率。
第三方面,本申请提供一种电子设备,采用如下的技术方案:
一种电子设备,包括处理器,所述处理器与存储器耦合;
所述处理器用于执行所述存储器中存储的计算机程序,以使得所述电子设备执行第一方面任一项所述的基于数据库配置实现解析CSV文件方法的计算机程序。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,存储有能够被处理器加载并执行第一方面任一项所述的基于数据库配置实现解析CSV文件方法的计算机程序。
附图说明
图1是本申请实施例提供的一种基于数据库配置实现解析CSV文件方法的流程示意图。
图2是本申请实施例提供的一种基于数据库配置实现解析CSV文件装置的结构框图。
图3是本申请实施例提供的电子设备的结构框图。
具体实施方式
以下结合附图对本申请作进一步详细说明。
本申请实施例提供一种基于数据库配置实现解析CSV文件方法,该基于数据库配置实现解析CSV文件方法可由电子设备执行,该电子设备可以为服务器也可以为终端设备,其中该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云让算服务的云服务器。终端设备可以是智能手机、平板电脑、台式计算机等,但并不局限于此。
图1为本申请实施例提供的一种基于数据库配置实现解析CSV文件方法的流程示意图。
如图1所示,该方法主要流程描述如下(步骤S101~S104):
步骤S101,响应于待解析CSV文件导入指令,接收待解析CSV文件。
在本实施例中,用户通过管理平台将需要进行解析的CSV文件进行导入,将用户导入的文件作为本次待解析CSV文件。
步骤S102,查询预设数据库中是否存在与待解析CSV文件相匹配的解析模板ID。
针对步骤S102,获取待解析CSV文件的上传接口;判断预设数据库中是否存在与上传接口相对应的解析模板ID;若预设数据库中存在与上传接口相对应的解析模板ID,则判定预设数据库中存在与待解析CSV文件相匹配的解析模板ID;若预设数据库中不存在与上传接口相对应的解析模板ID,则判定预设数据库中不存在与待解析CSV文件相匹配的解析模板ID。
在本实施例中,不同的文件对应不同的上传接口,并且每一个上传接口都对应有一个解析模板ID,同样的一个解析模板ID只属于一个解析模板,并且每个解析模板都有属于自己的格式配置信息,但是为了在接收到待解析CSV文件时能够快速判断出是否能够对待解析CSV文件进行解析,从而采用根据上传接口与解析模板ID的方式进行查询判断。上传接口与解析模板ID为一一对应的关系,即通过上传接口的接口信息即可查询到该接口对应的解析模板ID。例如,上传接口A对应的解析模板ID为00A,所以在上传接口A上传待解析CSV文件时,可以直接查询到ID为00A的解析模板,并且只有文件类型为A类型的待解析CSV文件才能通过上传接口A进行上传,否则将在解析时进行报错,从而退出解析过程。
步骤S103,若预设数据库中存在与待解析CSV文件相匹配的解析模板ID,则基于预设数据库查询解析模板ID对应的解析模板的格式配置信息。
在本实施例中,全部的解析模板都存储在预设数据库中,在进行解析使用时从数据库进行查询解析模板ID的格式配置信息,进行调用,从而使用解析模板ID的格式配置信息进行解析。其中,解析模板ID的格式配置信息是一条记录,该记录包含待解析CSV文件的解析是否从文件的第一行开始进行解析、待解析CSV文件的文件内容分隔方式、待解析CSV文件的编码格式、解析模板生效状态和解析完成后解析数据入库时数据表中数据对应的字段等信息。需要说明的是,具体的格式配置信息需要根据每个类型的待解析CSV文件的文件内容格式进行设置,在此不作具体限定。
步骤S104,基于格式配置信息和预设解析器对待解析CSV文件进行解析,生成解析数据。
针对步骤S104,基于格式配置信息确定待解析CSV文件的解析执行规则;获取待解析CSV文件的文件序列ID以及每个文件序列ID对应的文件序列内容;基于解析执行规则将文件序列内容按照文件序列ID依次进行解析,生成多个解析数据。
在本实施例中,待解析CSV文件的每一列都对应有一个文件序列ID,每一列的数据都是相同类型的数据,在解析的时候以列为单位进行解析,例如,一个待解析CSV文件包含三列数据,一列数据为日期且文件序列ID为002,一列数据为年龄且文件序列ID为003,一列数据为姓名且文件序列ID为001,在进行解析时首先解析数据为姓名的文件序列内容,然后解析数据为日期的文件序列内容,最后解析数据为年龄的文件序列内容。
在进行解析时根据文件序列内容选择性的进行拼接操作,拼接是因为有些字段是系统所需要的,例如入库日期、时间、操作员信息等字段,故需对数据字段进行拼接,在进行拼接时使用字符串的方式进行拼接。
在本实施例中,在得到多个解析数据之后,需要将解析数据存储到预设数据库中,此时,可以在所有的数据解析完成一并存储到预设数据库中,还可以解析一条存储一次。
进一步的,还可以将多个解析数据按照解析顺序存储至预设数据库。
具体的,当有新的解析数据生成时,将新的解析数据添加到预设数据列表中,并将预设数据列表的数据数量增加1;若至少满足一种预设条件,则将预设数据列表中的所有解析数据转存至预设数据库,并将数据数量清零,重复当有新的解析数据生成时,将新的解析数据添加到预设数据列表中,并将预设数据列表的数据数量增加1的步骤;其中,预设条件包括数据数量不小于预设提交数量和新的解析数据为待解析CSV文件的最后一个解析数据。并且在将新的解析数据添加到预设数据列表中之前还需要基于预设配置需求判断解析数据是否需要进行转换;若解析数据需要进行转换,则将解析数据进行格式转换。
在本实施例中,解析之后需要对解析过后的解析数据进行存储,但是由于待解析CSV文件中的数据内容数量较多,若每解析出来一条数据就进行一次存储,则会频繁的开启关闭提交数据库,增加计算机的处理压力,从而为了减少对数据库的操作,避免频繁的开启关闭提交数据库,设置一个预设数据列表,当待解析CSV文件未进行解析时,预设数据列表为空,且数据列表对应的数据数量为0,每向预设数据列表中增加一条解析数据,数据数量将自动加1,当数据数量不小于预设提交数量时,将预设数据列表中的全部数据都提交都预设数据库中,并且清空预设数据列表中的数据,将数据数量进行清零,同时执行下一轮的存储加1和清零操作,直至待解析CSV文件全部解析完毕,此时将预设数据列表中剩余的全部数据直接存储至预设数据库中,完成一个待解析CSV文件的解析存储工作。
例如,一个待解析CSV文件有500列文件序列内容,预设提交数量为200,则当数据数量为200即预设数据列表中的解析数据为200条时,将预设数据列表中的数据提交到预设数据库中,并开启下一轮的存储提交,但是由于只有500列文件序列内容,在第三轮进行时无法满足200条的提交需求,此时依旧将剩余的100条解析数据进行提交,并清空预设数据列表中的数据,将数据数量进行清零,等待下一个待解析CSV文件进行解析存储,具体的待解析CSV文件序列数量和预设提交数量需要根据实际需求进行设置,在此不作具体限定。
需要说明的是,存储到预设数据库中的解析内容的存放顺序需要跟解析顺序即文件序列ID一致,并且在解析内容存入到预设数据列表中时,根据数据的配置需求判断是否需要进行数据转换,若需要进行数据转换则在存放至预设数据序列之前进行转换,转换之后存储到预设数据序列中,若不需要进行数据转换,则之间存储到预设数据序列中。其中,每一条数据都有设置数据格式是否需要转换的枚举值,以及转换格式;例如日期,csv文件的日期格式是yyyy-mm-dd,而数据库需要的是yyymmdd,那么这种格式的就需要转换;例如姓名、地址等就不需要转换,具体的转换格式以及是否需要进行转换需要根据实际数据情况进行判定,在此不作具体限定。
图2为申请实施例提供的一种基于数据库配置实现解析CSV文件装置200的结构框图。
如图2所示,基于数据库配置实现解析CSV文件装置200主要包括:
文件接收模块201,用于响应于待解析CSV文件导入指令,接收待解析CSV文件;
模板查询模块202,用于查询预设数据库中是否存在与待解析CSV文件相匹配的解析模板ID;
配置查询模块203,用于基于预设数据库查询解析模板ID对应的解析模板的格式配置信息;
文件解析模块204,用于基于格式配置信息和预设解析器对待解析CSV文件进行解析,生成解析数据。
作为本实施例的一种可选实施方式,模板查询模块202具体用于获取待解析CSV文件的上传接口;判断预设数据库中是否存在与上传接口相对应的解析模板ID;若预设数据库中存在与上传接口相对应的解析模板ID,则判定预设数据库中存在与待解析CSV文件相匹配的解析模板ID;若预设数据库中不存在与上传接口相对应的解析模板ID,则判定预设数据库中不存在与待解析CSV文件相匹配的解析模板ID。
作为本实施例的一种可选实施方式,文件解析模块204包括:
执行规则确定模块,用于基于格式配置信息确定待解析CSV文件的解析执行规则;
序列信息获取模块,用于获取待解析CSV文件的文件序列ID以及每个文件序列ID对应的文件序列内容;
解析数据生成模块,用于基于解析执行规则将文件序列内容按照文件序列ID依次进行解析,生成多个解析数据。
作为本实施例的一种可选实施方式,该基于数据库配置实现解析CSV文件装置200还包括:
数据存储模块,用于将多个解析数据按照解析顺序存储至预设数据库。
在本可选实施例中,数据存储模块包括:
数据列表添加模块,用于当有新的解析数据生成时,将新的解析数据添加到预设数据列表中,并将预设数据列表的数据数量增加1;
解析数据转存模块,用于若至少满足一种预设条件,则将预设数据列表中的所有解析数据转存至预设数据库,并将数据数量清零,重复当有新的解析数据生成时,将新的解析数据添加到预设数据列表中,并将预设数据列表的数据数量增加1的步骤;其中,预设条件包括数据数量不小于预设提交数量和新的解析数据为待解析CSV文件的最后一个解析数据。
作为本实施例的一种可选实施方式,该基于数据库配置实现解析CSV文件装置200还包括:
转换判断模块,用于基于预设配置需求判断解析数据是否需要进行转换;
数据转换模块,用于将解析数据进行格式转换。
作为本实施例的一种可选实施方式,该基于数据库配置实现解析CSV文件装置200还包括:
解析数据存储模块,用于将解析数据存储至预设数据库。在一个例子中,以上任一装置中的模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specific integratedcircuit,ASIC),或,一个或多个数字信号处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(fieldprogrammable gate array,FPGA),或这些集成电路形式中至少两种的组合。
再如,当装置中的模块可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,CPU)或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图3为本申请实施例提供的电子设备300的结构框图。
如图3所示,电子设备300包括处理器301和存储器302,还可以进一步包括信息输入/信息输出(I/O)接口303、通信组件304中的一种或多种以及通信总线305。
其中,处理器301用于控制电子设备300的整体操作,以完成上述的基于数据库配置实现解析CSV文件方法的全部或部分步骤;存储器302用于存储各种类型的数据以支持在电子设备300的操作,这些数据例如可以包括用于在该电子设备300上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器302可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random AccessMemory,SRAM)、电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,EEPROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、只读存储器(Read-Only Memory,ROM)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。
I/O接口303为处理器301和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件304用于电子设备300与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(NearField Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件104可以包括:Wi-Fi部件,蓝牙部件,NFC部件。
电子设备300可以被一个或多个应用专用集成电路 (Application SpecificIntegrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field ProgrammableGate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的基于数据库配置实现解析CSV文件方法。
通信总线305可包括一通路,在上述组件之间传送信息。通信总线305可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA (ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。通信总线305可以分为地址总线、数据总线、控制总线等。
电子设备300可以包括但不限于移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端,还可以为服务器等。
本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的基于数据库配置实现解析CSV文件方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器 (R ead-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中申请的(但不限于)存在类似功能的技术特征进行互相替换而形成的技术方案。
Claims (7)
1.一种基于数据库配置实现解析CSV文件方法,其特征在于,包括:
响应于待解析CSV文件导入指令,接收待解析CSV文件;
查询预设数据库中是否存在与所述待解析CSV文件相匹配的解析模板ID;
若预设数据库中存在与所述待解析CSV文件相匹配的解析模板ID,则基于所述预设数据库查询所述解析模板ID对应的解析模板的格式配置信息;
基于所述格式配置信息和预设解析器对所述待解析CSV文件进行解析,生成解析数据;
所述查询预设数据库中是否存在与所述待解析CSV文件相匹配的解析模板ID包括:
获取所述待解析CSV文件的上传接口;
判断所述预设数据库中是否存在与所述上传接口相对应的解析模板ID;
若所述预设数据库中存在与所述上传接口相对应的解析模板ID,则判定所述预设数据库中存在与所述待解析CSV文件相匹配的解析模板ID;
若所述预设数据库中不存在与所述上传接口相对应的解析模板ID,则判定所述预设数据库中不存在与所述待解析CSV文件相匹配的解析模板ID;
所述基于所述格式配置信息和预设解析器对所述待解析CSV文件进行解析,生成解析数据包括:
基于所述格式配置信息确定所述待解析CSV文件的解析执行规则;
获取所述待解析CSV文件的文件序列ID以及每个文件序列ID对应的文件序列内容;
基于所述解析执行规则将所述文件序列内容按照所述文件序列ID依次进行解析,生成多个解析数据,其中,解析模板ID的格式配置信息是一条记录,该记录包含待解析CSV文件的解析是否从文件的第一行开始进行解析、待解析CSV文件的文件内容分隔方式、待解析CSV文件的编码格式、解析模板生效状态和解析完成后解析数据入库时数据表中数据对应的字段,具体的格式配置信息需要根据每个类型的待解析CSV文件的文件内容格式进行设置;
待解析CSV文件的每一列都对应有一个文件序列ID,每一列的数据都是相同类型的数据,在解析的时候以列为单位进行解析,例如,一个待解析CSV文件包含三列数据,一列数据为日期且文件序列ID为002,一列数据为年龄且文件序列ID为003,一列数据为姓名且文件序列ID为001,在进行解析时首先解析数据为姓名的文件序列内容,然后解析数据为日期的文件序列内容,最后解析数据为年龄的文件序列内容;
所述将所述多个解析数据按照解析顺序存储至所述预设数据库包括:
当有新的解析数据生成时,将所述新的解析数据添加到预设数据列表中,并将所述预设数据列表的数据数量增加1;
若至少满足一种预设条件,则将所述预设数据列表中的所有解析数据转存至所述预设数据库,并将所述数据数量清零,重复所述当有新的解析数据生成时,将所述新的解析数据添加到预设数据列表中,并将所述预设数据列表的数据数量增加1的步骤;
其中,所述预设条件包括所述数据数量不小于预设提交数量和所述新的解析数据为所述待解析CSV文件的最后一个解析数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
将所述多个解析数据按照解析顺序存储至所述预设数据库。
3.根据权利要求1所述的方法,其特征在于,在所述将所述新的解析数据添加到预设数据列表中之前,还包括:
基于预设配置需求判断所述解析数据是否需要进行转换;
若所述解析数据需要进行转换,则将所述解析数据进行格式转换。
4.根据权利要求1所述的方法,其特征在于,在基于所述格式配置信息和预设解析器对所述待解析CSV文件进行解析,生成解析数据之后,还包括:
将所述解析数据存储至所述预设数据库。
5.一种基于数据库配置实现解析CSV文件装置,其特征在于,包括:
文件接收模块,用于响应于待解析CSV文件导入指令,接收待解析CSV文件;
模板查询模块,用于查询预设数据库中是否存在与所述待解析CSV文件相匹配的解析模板ID;
配置查询模块,用于基于所述预设数据库查询所述解析模板ID对应的解析模板的格式配置信息;
文件解析模块,用于基于所述格式配置信息和预设解析器对所述待解析CSV文件进行解析,生成解析数据;
模板查询模块具体用于获取待解析CSV文件的上传接口;判断预设数据库中是否存在与上传接口相对应的解析模板ID;若预设数据库中存在与上传接口相对应的解析模板ID,则判定预设数据库中存在与待解析CSV文件相匹配的解析模板ID;若预设数据库中不存在与上传接口相对应的解析模板ID,则判定预设数据库中不存在与待解析CSV文件相匹配的解析模板ID;
文件解析模块包括:
执行规则确定模块,用于基于格式配置信息确定待解析CSV文件的解析执行规则;
序列信息获取模块,用于获取待解析CSV文件的文件序列ID以及每个文件序列ID对应的文件序列内容;
解析数据生成模块,用于基于解析执行规则将文件序列内容按照文件序列ID依次进行解析,生成多个解析数据,其中,所述解析模板ID包括所述待解析CSV文件的初始解析位置、所述待解析CSV文件的文件内容分隔方式、所述待解析CSV文件的编码格式、所述解析模板的生效状态和所述解析数据的存储信息,具体的格式配置信息需要根据每个类型的待解析CSV文件的文件内容格式进行设置;
待解析CSV文件的每一列都对应有一个文件序列ID,每一列的数据都是相同类型的数据,在解析的时候以列为单位进行解析,例如,一个待解析CSV文件包含三列数据,一列数据为日期且文件序列ID为002,一列数据为年龄且文件序列ID为003,一列数据为姓名且文件序列ID为001,在进行解析时首先解析数据为姓名的文件序列内容,然后解析数据为日期的文件序列内容,最后解析数据为年龄的文件序列内容;
数据存储模块包括:
数据列表添加模块,用于当有新的解析数据生成时,将新的解析数据添加到预设数据列表中,并将预设数据列表的数据数量增加1;
解析数据转存模块,用于若至少满足一种预设条件,则将预设数据列表中的所有解析数据转存至预设数据库,并将数据数量清零,重复当有新的解析数据生成时,将新的解析数据添加到预设数据列表中,并将预设数据列表的数据数量增加1的步骤;其中,预设条件包括数据数量不小于预设提交数量和新的解析数据为待解析CSV文件的最后一个解析数据。
6.一种电子设备,其特征在于,包括处理器,所述处理器与存储器耦合;
所述处理器用于执行所述存储器中存储的计算机程序,以使得所述电子设备执行如权利要求1至4任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,包括计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得所述计算机执行如权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310291615.3A CN116049293B (zh) | 2023-03-23 | 2023-03-23 | 基于数据库配置实现解析csv文件方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310291615.3A CN116049293B (zh) | 2023-03-23 | 2023-03-23 | 基于数据库配置实现解析csv文件方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116049293A CN116049293A (zh) | 2023-05-02 |
CN116049293B true CN116049293B (zh) | 2024-02-13 |
Family
ID=86114917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310291615.3A Active CN116049293B (zh) | 2023-03-23 | 2023-03-23 | 基于数据库配置实现解析csv文件方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116049293B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241642A (zh) * | 2016-12-23 | 2018-07-03 | 北京国双科技有限公司 | 文件解析方法和装置 |
CN110413578A (zh) * | 2019-06-28 | 2019-11-05 | 北京互金新融科技有限公司 | 数据解析的方法和装置 |
CN110688828A (zh) * | 2019-09-20 | 2020-01-14 | 京东数字科技控股有限公司 | 文件处理方法及装置、文件处理系统、计算机设备 |
CN110704381A (zh) * | 2019-09-06 | 2020-01-17 | 平安城市建设科技(深圳)有限公司 | 数据解析方法、装置及存储介质 |
CN111506559A (zh) * | 2020-04-21 | 2020-08-07 | 北京同邦卓益科技有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN111782718A (zh) * | 2020-08-11 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 插件化数据报送系统及数据报送方法 |
CN114357967A (zh) * | 2021-11-19 | 2022-04-15 | 泰康保险集团股份有限公司 | 一种票据文件的解析方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107704479B (zh) * | 2017-02-08 | 2020-06-30 | 深圳壹账通智能科技有限公司 | 文件生成方法和装置 |
-
2023
- 2023-03-23 CN CN202310291615.3A patent/CN116049293B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241642A (zh) * | 2016-12-23 | 2018-07-03 | 北京国双科技有限公司 | 文件解析方法和装置 |
CN110413578A (zh) * | 2019-06-28 | 2019-11-05 | 北京互金新融科技有限公司 | 数据解析的方法和装置 |
CN110704381A (zh) * | 2019-09-06 | 2020-01-17 | 平安城市建设科技(深圳)有限公司 | 数据解析方法、装置及存储介质 |
CN110688828A (zh) * | 2019-09-20 | 2020-01-14 | 京东数字科技控股有限公司 | 文件处理方法及装置、文件处理系统、计算机设备 |
CN111506559A (zh) * | 2020-04-21 | 2020-08-07 | 北京同邦卓益科技有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN111782718A (zh) * | 2020-08-11 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 插件化数据报送系统及数据报送方法 |
CN114357967A (zh) * | 2021-11-19 | 2022-04-15 | 泰康保险集团股份有限公司 | 一种票据文件的解析方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116049293A (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111241182A (zh) | 数据处理方法和装置、存储介质和电子装置 | |
CN104978258A (zh) | 软件自动化测试方法及系统 | |
CN112395253B (zh) | 索引文件生成方法、终端设备、电子设备及介质 | |
CN107797823B (zh) | 业务规则管理方法、装置、存储介质和计算机设备 | |
CN114741070A (zh) | 代码生成方法、装置、电子设备及存储介质 | |
CN110769002A (zh) | 基于LabVIEW的报文解析方法、系统、电子设备和介质 | |
CN105843899B (zh) | 一种可简化编程的大数据自动化解析方法及系统 | |
CN112181522A (zh) | 数据处理的方法、装置以及电子设备 | |
CN110990350B (zh) | 日志的解析方法及装置 | |
CN110688315A (zh) | 接口代码检测报告生成方法、电子装置及存储介质 | |
CN112367234B (zh) | 模拟数据生成方法、终端设备及计算机可读存储介质 | |
CN116049293B (zh) | 基于数据库配置实现解析csv文件方法、装置、设备及介质 | |
CN112631676A (zh) | 代码动态加载方法、装置及计算机可读存储介质 | |
CN111651397A (zh) | 一种访问PXIe外设模块的方法和设备 | |
CN115840598A (zh) | 基于应用市场的微前端架构系统、开发方法、设备和介质 | |
CN114968917A (zh) | 一种文件数据快速导入方法及装置 | |
CN109558387B (zh) | 身份证号的处理方法、装置、存储介质及终端 | |
CN111151008B (zh) | 游戏运营数据的校验方法、装置、配置后台及介质 | |
CN112184027A (zh) | 任务进度更新方法、装置及存储介质 | |
CN112965767A (zh) | 作业的处理方法和装置、电子设备和存储介质 | |
CN116974653B (zh) | 类加载方法及系统 | |
CN117193887B (zh) | 调音台分布式控制方法、装置及可读存储介质 | |
CN111125147B (zh) | 基于扩展预计算模型和sql函数的超大集合分析方法及装置 | |
CN112130841B (zh) | Sql开发方法、装置及终端设备 | |
CN117436760A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |