本申请涉及数据处理,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术:
1、系统中存在很多导入、导出数据的功能,特别是财务类系统。导入数据的开发流程为:定制表样、根据表样创建数据库表,根据表样开发解析文件代码并把数据存储到对应的数据库表中、测试通过后再投入使用。导出数据的流程为:定制表样、读取数据库表数据写入excel中。都是流程固定但因表样不同导致每一个导入、导出数据功能都要重复开发,耗费开发、测试时间人力。
2、行业中有很多实现导入、导出的功能,但没有一种可以动态支持导入、导出数据的机制。可以对导入、导出数据的流程高度抽象,共性部分流程化,特性部分配置化,形成一个可以通过配置实现不用重复开发的数据导入、导出机制。
技术实现思路
1、有鉴于此,本申请实施例提供了一种数据处理方法、装置、电子设备及存储介质,能够提高数据表导入数据库的效率。
2、本申请实施例的技术方案是这样实现的:
3、第一方面,本申请实施例提供一种数据处理方法,包括以下步骤:
4、响应于针对目标文件的导入请求,获取所述目标文件中的表名,其中,所述目标文件表征数据表,所述数据表包括所述表名、字段和对应的字段数据;
5、基于所述表名对目标数据库中的数据表进行查询处理,若所述目标数据库中存在与所述表名相同的第一数据表,将所述字段数据导入所述第一数据表中对应的字段下;
6、若所述目标数据库中不存在与所述表名相同的所述第一数据表,基于所述目标文件创建第二数据表,并将所述字段数据导入所述第二数据表中对应的字段下,其中,所述第二数据表的格式与所述目标文件相对应。
7、在一种可能的实施方式中,所述方法还包括:
8、若所述目标文件的所述字段中包括了所述第一数据表中没有的字段,对所述目标文件和所述第一数据表进行对比处理,得到区别字段;
9、基于所述区别字段创建目标脚本,其中,所述目标脚本用于向所述第一数据表中添加所述区别字段;
10、执行所述目标脚本,并在所述目标脚本向所述第一数据表中添加所述区别字段之后将所述字段数据导入所述第一数据表中对应的字段下。
11、在一种可能的实施方式中,所述方法还包括:
12、若所述目标文件中存在与所述第一数据表或第二数据表相同的字段且所述字段数据的类型不同时,获取所述第一数据表或所述第二数据表中字段数据的第一类型;
13、基于所述第一类型创建转换接口,其中,所述转换接口用于将所述目标文件中第二类型的字段数据转换为所述第一类型,所述第一类型与所述第二类型不同;
14、在所述目标文件中所述第二类型的字段数据转换为所述第一类型后,将该字段数据导入所述第一数据表或所述第二数据表中对应的字段下。
15、在一种可能的实施方式中,所述方法还包括:
16、若所述目标数据库中存在与所述表名相同的第一数据表且所述第一数据表的字段与所述目标文件不完全相同时,对所述目标文件和所述第一数据表进行对比处理,得到差异字段;
17、在所述第一数据表中新建与所述差异字段对应的字段,并将所述差异字段对应的字段数据存储在新建的字段中;
18、或者,基于所述目标文件创建第三数据表,并将所述字段数据导入所述第三数据表中对应的字段下,其中,所述第三数据表的格式与所述目标文件相对应,所述第三数据表的表名基于所述第一数据表的表名和序列号创建。
19、在一种可能的实施方式中,所述响应于针对目标文件的导入请求,获取所述目标文件中的表名,包括:
20、获取所述导入请求对应的导入路径,其中,所述导入路径对应所述目标文件的存储位置;
21、通过所述导入路径查找所述目标文件,并获取所述目标文件中的表名,其中,所述表名存储在所述目标文件中或所述目标文件的文件名。
22、在一种可能的实施方式中,所述基于所述目标文件创建第二数据表之后,所述方法还包括:
23、记录所述目标文件与所述第二数据表之间的关系,得到关系列表;
24、存储所述关系列表。
25、在一种可能的实施方式中,所述方法还包括:
26、响应于针对所述数据库中至少一张数据表的导出请求,从所述数据库中获取对应的所述至少一张数据表,其中,所述导出请求对应一导出路径;
27、将所述至少一张数据表以目标格式导出至所述导出路径,其中,所述目标格式为电子表格形式。
28、第二方面,本申请实施例还提供一种数据处理装置,所述装置包括:
29、获取模块,用于响应于针对目标文件的导入请求,获取所述目标文件中的表名,其中,所述目标文件表征数据表,所述数据表包括所述表名、字段和对应的字段数据;
30、导入模块,用于基于所述表名对目标数据库中的数据表进行查询处理,若所述目标数据库中存在与所述表名相同的第一数据表,将所述字段数据导入所述第一数据表中对应的字段下;
31、若所述目标数据库中不存在与所述表名相同的所述第一数据表,基于所述目标文件创建第二数据表,并将所述字段数据导入所述第二数据表中对应的字段下,其中,所述第二数据表的格式与所述目标文件相对应。
32、第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行第一方面任一项所述的数据处理方法。
33、第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面任一项所述的数据处理方法。
34、本申请实施例具有以下有益效果:
35、通过响应于针对目标文件的导入请求,获取所述目标文件中的表名,然后基于表名对目标数据库中的数据表进行查询处理,若目标数据库中存在与所述表名相同的第一数据表,将字段数据导入所述第一数据表中对应的字段下;若目标数据库中不存在与表名相同的所述第一数据表,基于目标文件创建第二数据表,并将字段数据导入第二数据表中对应的字段下,这样,再导入的过程中无需针差异化的文件进行重复开发,形成一种可通过配置实现不用重复开发的数据导入机制。
1.一种数据处理方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述响应于针对目标文件的导入请求,获取所述目标文件中的表名,包括:
6.根据权利要求1所述的方法,其特征在于,所述基于所述目标文件创建第二数据表之后,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.一种数据处理装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至7任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一项所述的数据处理方法。