CN113297311A - 一种数据转换方法及装置 - Google Patents
一种数据转换方法及装置 Download PDFInfo
- Publication number
- CN113297311A CN113297311A CN202110667471.8A CN202110667471A CN113297311A CN 113297311 A CN113297311 A CN 113297311A CN 202110667471 A CN202110667471 A CN 202110667471A CN 113297311 A CN113297311 A CN 113297311A
- Authority
- CN
- China
- Prior art keywords
- data
- converted
- file
- structure information
- group
- 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.)
- Granted
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012163 sequencing technique Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 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
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
本公开提供了一种数据转换方法及装置,获取需要进行数据格式转换的待转换文件;所述待转换文件中包含至少一组待转换数据;从所述待转换文件中识别出每组所述待转换数据分别对应的数据结构信息;所述数据结构信息用于指示所述待转换数据中各项数据对应的字段名及字段类型;基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。本公开实施例能够根据数据结构信息中指示的字段名及字段类型,匹配对应的数据转换方式,将待转换数据转换为目标数据格式下的格式化数据,从而实现多种数据类型的文件进行转换。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种数据转换方法及装置。
背景技术
在如游戏等应用程序的运作过程中,开发人员通常需要制定各种配置、参数,以实现对应用程序进行调整,开发人员可以利用表格等方式描述这些配置和参数,再将表格中的数据转换为应用程序能够识别的结构化数据,使应用程序能够应用配置及参数。
在通常的转换方式中,可以利用转换工具对表格中的数据进行处理,然而,这些转化工具通常只能针对特定的数据类型进行转换,比如整型、字符、日期等基础类型,能够转换的数据十分有限。
发明内容
本公开实施例至少提供一种数据转换方法及装置。
第一方面,本公开实施例提供了一种数据转换方法,包括:
获取需要进行数据格式转换的待转换文件;所述待转换文件中包含至少一组待转换数据;
从所述待转换文件中识别出每组所述待转换数据分别对应的数据结构信息;所述数据结构信息用于指示所述待转换数据中各项数据对应的字段名及字段类型;
基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。
一种可选的实施方式中,所述从所述待转换文件中识别出每组所述待转换数据分别对应的数据结构信息,包括:
按照预设的区域划分规则,从所述待转换文件的数据表中确定出各组所述待转换数据分别对应的目标区域;
从所述目标区域中识别出所述待转换数据的标识信息,并基于所述标识信息在所述目标区域中的位置信息,从所述目标区域中识别出所述待转换数据对应的数据结构信息。
一种可选的实施方式中,所述基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据,包括:
基于所述数据结构信息中指示的所述待转换数据中各项数据对应的字段名及字段类型,对所述待转换数据进行数据格式校验;
在数据格式校验正确的情况下,基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。
一种可选的实施方式中,所述基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据,包括:
确定各组所述待转换数据之间的引用关系,并基于所述引用关系对各组所述待转换数据进行拓扑排序;
按照所述拓扑排序的排序结果,依次基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。
一种可选的实施方式中,所述基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据,包括:
针对当前的所述待转换数据,基于所述待转换数据的所述结构信息指示的所述待转换数据中各项数据对应的字段名及字段类型,确定所述待转换数据中的基础类型数据、引用类型数据以及文件类型数据;
将所述引用类型数据及所述文件类型数据转换为基础类型数据;
基于预设的基础类型转换规则,将所述待转换数据中的基础类型数据转换为目标数据格式下的结构化数据。
一种可选的实施方式中,所述将所述引用类型数据及所述文件类型数据转换为基础类型数据,包括:
采用所述引用类型数据对应的引用值替换所述引用类型数据,以将所述引用类型数据转换为基础类型数据;
确定所述文件类型数据对应的文件,并利用所述文件的存储路径信息替换所述文件类型数据,以将所述文件类型数据转换为基础类型数据。
一种可选的实施方式中,所述方法还包括:
基于各组所述待转换数据对应的数据结构信息,生成所述结构化数据的说明文本;所述说明文本用于定义所述结构化数据需要满足的规则。
第二方面,本公开实施例还提供一种数据转换装置,包括:
获取模块,用于获取需要进行数据格式转换的待转换文件;所述待转换文件中包含至少一组待转换数据;
识别模块,用于从所述待转换文件中识别出每组所述待转换数据分别对应的数据结构信息;所述数据结构信息用于指示所述待转换数据中各项数据对应的字段名及字段类型;
转换模块,用于基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。
一种可选的实施方式中,所述识别模块具体用于:
按照预设的区域划分规则,从所述待转换文件的数据表中确定出各组所述待转换数据分别对应的目标区域;
从所述目标区域中识别出所述待转换数据的标识信息,并基于所述标识信息在所述目标区域中的位置信息,从所述目标区域中识别出所述待转换数据对应的数据结构信息。
一种可选的实施方式中,所述转换模块具体用于:
基于所述数据结构信息中指示的所述待转换数据中各项数据对应的字段名及字段类型,对所述待转换数据进行数据格式校验;
在数据格式校验正确的情况下,基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。
一种可选的实施方式中,所述转换模块具体用于:
确定各组所述待转换数据之间的引用关系,并基于所述引用关系对各组所述待转换数据进行拓扑排序;
按照所述拓扑排序的排序结果,依次基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。
一种可选的实施方式中,所述转换模块在基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据时,用于:
针对当前的所述待转换数据,基于所述待转换数据的所述结构信息指示的所述待转换数据中各项数据对应的字段名及字段类型,确定所述待转换数据中的基础类型数据、引用类型数据以及文件类型数据;
将所述引用类型数据及所述文件类型数据转换为基础类型数据;
基于预设的基础类型转换规则,将所述待转换数据中的基础类型数据转换为目标数据格式下的结构化数据。
一种可选的实施方式中,所述转换模块在将所述引用类型数据及所述文件类型数据转换为基础类型数据时,用于:
采用所述引用类型数据对应的引用值替换所述引用类型数据,以将所述引用类型数据转换为基础类型数据;
确定所述文件类型数据对应的文件,并利用所述文件的存储路径信息替换所述文件类型数据,以将所述文件类型数据转换为基础类型数据。
一种可选的实施方式中,所述装置还包括:
生成模块,用于基于各组所述待转换数据对应的数据结构信息,生成所述结构化数据的说明文本;所述说明文本用于定义所述结构化数据需要满足的规则。
第三方面,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本公开实施例提供的数据转换方法及装置,获取需要进行数据格式转换的待转换文件;所述待转换文件中包含至少一组待转换数据;从所述待转换文件中识别出每组所述待转换数据分别对应的数据结构信息;所述数据结构信息用于指示所述待转换数据中各项数据对应的字段名及字段类型;基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。本公开实施例能够根据数据结构信息中指示的字段名及字段类型,匹配对应的数据转换方式,将待转换数据转换为目标数据格式下的格式化数据,从而实现多种数据类型的文件进行转换。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种数据转换方法的流程图;
图2示出了本公开实施例所提供的一种数据转换装置的示意图;
图3示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
在通常的将表格数据转换为结构化数据的过程中,可以利用转换工具对表格中的数据进行处理,然而,这些转化工具通常只能针对特定的数据类型进行转换,比如整型、字符、日期等基础类型,能够转换的数据十分有限。
基于上述研究,本公开提供了一种数据转换方法,能够根据数据结构信息中指示的字段名及字段类型,匹配对应的数据转换方式,将待转换数据转换为目标数据格式下的格式化数据,从而实现多种数据类型的文件进行转换。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种数据转换方法进行详细介绍,本公开实施例所提供的数据转换方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备。在一些可能的实现方式中,该数据转换方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的数据转换方法的流程图,所述方法包括步骤S101~S103,其中:
S101:获取需要进行数据格式转换的待转换文件;所述待转换文件中包含至少一组待转换数据。
其中,待转换文件可以为表格文件,具体的,可以为excel表格文件,待转换文件中可以包含多个sheet表,每个sheet表中含有多组待转换数据,一组待转换数据可以用于更新代码中的键值,由多个单元格中的数据组成,各组待转换数据之间可以使用空行及空列进行分隔。待转换文件中还可以包含待转换数据的数据结构信息。
示例性的,如下述表1所示,为本公开实施例提供的待转换数据及其对应的数据结构信息,其中,前四行的数据为待转换数据的数据结构信息,数据结构信息中,“$array(npc)”字符串为配置项标记,用于表示该组待转换数据的类型、转换模式及配置对象,其中,“array”可以表示数组类型,“object”可以表示对象类型,“plain_object”可以表示纯对象类型,“npc”可以为配置对象的标识;“NPC配置项”可以为该组待转换数据的名称;“key”可以表示该行数据定义了待转换数据中各列数据对应的键,“id”表示该列的数据的键为“id”,“name”表示该列的数据的键为“name”,“type”可以表示该行数据定义待转换数据中各列数据的类型,“int”可以表示该列对应的数据的类型为整型,“string”可以表示该列对应的数据的类型为字符,“desc”可以表示该行数据定义格列数据的注释,“ID”可以表示该列数据的注释为“ID”,“dragon”可以表示该列数据的注释为“怪物名”,“1001”、“1002”、“slave”、“dragon”则为待转换数据。
这里,根据应用场景中的具体需求,还可以在数据结构信息中添加新的行,对待转换数据进行定义。
$array(npc) | Npc配置项 | |
key | id | name |
type | int | string |
desc | ID | 怪物名 |
1001 | slave | |
1002 | dragon |
表1
S102:从所述待转换文件中识别出每组所述待转换数据分别对应的数据结构信息;所述数据结构信息用于指示所述待转换数据中各项数据对应的字段名及字段类型。
该步骤中,可以按照预设的区域划分规则,从待转换文件的数据表中确定出各组待转换数据分别对应的目标区域。
其中,区域划分规则用于对数据表进行划分,划分后得到的各个目标区域中可以分别有一组待转换数据。示例性的,可以根据空行及空列设定区域划分规则,将空行与空列作为不同组待转换数据的分隔标志,从而识别出各个目标区域。
然后,可以从目标区域中识别出待转换数据的标识信息,如上述“$array(npc)”,并基于标识信息在目标区域中的位置信息,从目标区域中识别出待转换数据对应的数据结构信息。
示例性的,可以从标识信息所在的单元格开始,检测其下方的单元格是否含有数据,将含有数据的单元格及其右方的两个单元格区域内的数据作为数据结构信息。
S103:基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。
该步骤中,可以根据数据结构信息指示的待转换数据中各项数据对应的字段名及字段类型,确定各项数据的转换方式,并利用对应的转换方式将其转换为目标数据格式下的结构化数据。
这里,目标数据格式可以为JavaScript对象简谱(JavaScript Object Notation,JS对象简谱)格式,JSON可以将JavaScript对象中表示的一组数据转换为字符串,便于应用程序的使用。
在将待转换数据转换为目标数据格式下的结构化数据之前,可以执行对待转换数据进行数据格式校验的步骤,以降低转换过程中出现错误概率。
该步骤中,可以基于数据结构信息中指示的待转换数据中各项数据对应的字段名及字段类型,对待转换数据进行数据格式校验,具体的,可以检测各项数据的类型是否与其字段名对应的字段类型一致,在存在字段类型不一致的数据的情况下进行报错,以使用户进行检查及修改,在数据格式校验正确的情况下,再进行转换。
在数据表中,允许某一单元格引用其他单元格的值,该单元格可能属于其他组待转换数据,在转换过程中,需要将引用其他单元格的数据转换为普通数据,因此,为了防止循环引用的出现,可以通过以下步骤对各组待转换数据进行处理:
确定各组所述待转换数据之间的引用关系,并基于所述引用关系对各组所述待转换数据进行拓扑排序;按照所述拓扑排序的排序结果,依次基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。
该步骤中,可以根据各个单元格的引用关系,确定各组待转换数据之间的引用关系,并基于各组待转换数据之间的引用关系,对各组待转换数据进行拓扑排序,来确定各组待转换数据的依赖关系集中的顺序,通过按照拓扑排序的排序结果进行转换,能够使各项单元格中的数据都转换成无依赖的形式。
在一种可能的实施方式中,上述基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据,可以包括:
针对当前的所述待转换数据,基于所述待转换数据的所述结构信息指示的所述待转换数据中各项数据对应的字段名及字段类型,确定所述待转换数据中的基础类型数据、引用类型数据以及文件类型数据;
将所述引用类型数据及所述文件类型数据转换为基础类型数据;
基于预设的基础类型转换规则,将所述待转换数据中的基础类型数据转换为目标数据格式下的结构化数据。
其中,基础类型数据可以为整型(int),字符串(string),日期格式(date),整型数组(array.int),整型二维数组(array.int.int),字符串数组(array.string),字符串二维数组(array.array.string)等类型的数据;引用类型数据可以为refer类型的数据,文件类型数据可以为file类型的数据。
具体的,可以采用引用类型数据对应的引用值替换引用类型数据,以将引用类型数据转换为基础类型数据;确定文件类型数据对应的文件,并利用文件的存储路径信息替换文件类型数据,以将文件类型数据转换为基础类型数据。
针对引用类型的数据,可以根据引用关系查找到该数据对应引用值,并将该引用值作为其转换后的基础类型数据;针对文件类型数据,可以根据数据指示的文件名,查找到对应的文件,然后将其部署至预设的服务器后获取其部署后的地址,将其作为转换后的基础类型数据,也可以直接将查找到文件所对应的地址作为转换后的基础类型数据。
在将一组待转换数据中的引用类型数据及文件类型数据转换为基础类型数据之后,即可根据预设的基础类型转换规则,将待转换数据中的基础类型数据转换为目标数据格式下的结构化数据。
在得到目标数据格式下的结构化数据后,可以根据各组待转换数据对应的数据结构信息,生成结构化数据的说明文本,用于定义结构化数据所需要满足的规则。
具体的,上述说明文本可以为schema数据,Json Schema定义了一套词汇和规则,这套词汇和规则用来定义Json元数据,且元数据也是通过Json数据形式表达的。Json元数据定义了Json数据需要满足的规范,规范包括成员、结构、类型、约束等。
本公开实施例提供的数据转换方法,获取需要进行数据格式转换的待转换文件;所述待转换文件中包含至少一组待转换数据;从所述待转换文件中识别出每组所述待转换数据分别对应的数据结构信息;所述数据结构信息用于指示所述待转换数据中各项数据对应的字段名及字段类型;基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。本公开实施例能够根据数据结构信息中指示的字段名及字段类型,匹配对应的数据转换方式,将待转换数据转换为目标数据格式下的格式化数据,从而实现多种数据类型的文件进行转换。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与数据转换方法对应的数据转换装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述数据转换方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图2所示,为本公开实施例提供的一种数据转换装置的示意图,所述装置包括:
获取模块210,用于获取需要进行数据格式转换的待转换文件;所述待转换文件中包含至少一组待转换数据;
识别模块220,用于从所述待转换文件中识别出每组所述待转换数据分别对应的数据结构信息;所述数据结构信息用于指示所述待转换数据中各项数据对应的字段名及字段类型;
转换模块230,用于基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。
一种可选的实施方式中,所述识别模块220具体用于:
按照预设的区域划分规则,从所述待转换文件的数据表中确定出各组所述待转换数据分别对应的目标区域;
从所述目标区域中识别出所述待转换数据的标识信息,并基于所述标识信息在所述目标区域中的位置信息,从所述目标区域中识别出所述待转换数据对应的数据结构信息。
一种可选的实施方式中,所述转换模块230具体用于:
基于所述数据结构信息中指示的所述待转换数据中各项数据对应的字段名及字段类型,对所述待转换数据进行数据格式校验;
在数据格式校验正确的情况下,基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。
一种可选的实施方式中,所述转换模块230具体用于:
确定各组所述待转换数据之间的引用关系,并基于所述引用关系对各组所述待转换数据进行拓扑排序;
按照所述拓扑排序的排序结果,依次基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。
一种可选的实施方式中,所述转换模块230在基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据时,用于:
针对当前的所述待转换数据,基于所述待转换数据的所述结构信息指示的所述待转换数据中各项数据对应的字段名及字段类型,确定所述待转换数据中的基础类型数据、引用类型数据以及文件类型数据;
将所述引用类型数据及所述文件类型数据转换为基础类型数据;
基于预设的基础类型转换规则,将所述待转换数据中的基础类型数据转换为目标数据格式下的结构化数据。
一种可选的实施方式中,所述转换模块230在将所述引用类型数据及所述文件类型数据转换为基础类型数据时,用于:
采用所述引用类型数据对应的引用值替换所述引用类型数据,以将所述引用类型数据转换为基础类型数据;
确定所述文件类型数据对应的文件,并利用所述文件的存储路径信息替换所述文件类型数据,以将所述文件类型数据转换为基础类型数据。
一种可选的实施方式中,所述装置还包括:
生成模块,用于基于各组所述待转换数据对应的数据结构信息,生成所述结构化数据的说明文本;所述说明文本用于定义所述结构化数据需要满足的规则。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
对应于图1中的数据转换方法,本公开实施例还提供了一种电子设备300,如图3所示,为本公开实施例提供的电子设备300结构示意图,包括:
处理器31、存储器32、和总线33;存储器32用于存储执行指令,包括内存321和外部存储器322;这里的内存321也称内存储器,用于暂时存放处理器31中的运算数据,以及与硬盘等外部存储器322交换的数据,处理器31通过内存321与外部存储器322进行数据交换,当所述电子设备300运行时,所述处理器31与所述存储器32之间通过总线33通信,使得所述处理器31执行以下指令:
获取需要进行数据格式转换的待转换文件;所述待转换文件中包含至少一组待转换数据;
从所述待转换文件中识别出每组所述待转换数据分别对应的数据结构信息;所述数据结构信息用于指示所述待转换数据中各项数据对应的字段名及字段类型;
基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的数据转换方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的数据转换方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种数据转换方法,其特征在于,包括:
获取需要进行数据格式转换的待转换文件;所述待转换文件中包含至少一组待转换数据;
从所述待转换文件中识别出每组所述待转换数据分别对应的数据结构信息;所述数据结构信息用于指示所述待转换数据中各项数据对应的字段名及字段类型;
基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。
2.根据权利要求1所述的方法,其特征在于,所述从所述待转换文件中识别出每组所述待转换数据分别对应的数据结构信息,包括:
按照预设的区域划分规则,从所述待转换文件的数据表中确定出各组所述待转换数据分别对应的目标区域;
从所述目标区域中识别出所述待转换数据的标识信息,并基于所述标识信息在所述目标区域中的位置信息,从所述目标区域中识别出所述待转换数据对应的数据结构信息。
3.根据权利要求1所述的方法,其特征在于,所述基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据,包括:
基于所述数据结构信息中指示的所述待转换数据中各项数据对应的字段名及字段类型,对所述待转换数据进行数据格式校验;
在数据格式校验正确的情况下,基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。
4.根据权利要求1或3所述的方法,其特征在于,所述基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据,包括:
确定各组所述待转换数据之间的引用关系,并基于所述引用关系对各组所述待转换数据进行拓扑排序;
按照所述拓扑排序的排序结果,依次基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。
5.根据权利要求4所述的方法,其特征在于,所述基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据,包括:
针对当前的所述待转换数据,基于所述待转换数据的所述结构信息指示的所述待转换数据中各项数据对应的字段名及字段类型,确定所述待转换数据中的基础类型数据、引用类型数据以及文件类型数据;
将所述引用类型数据及所述文件类型数据转换为基础类型数据;
基于预设的基础类型转换规则,将所述待转换数据中的基础类型数据转换为目标数据格式下的结构化数据。
6.根据权利要求5所述的方法,其特征在于,所述将所述引用类型数据及所述文件类型数据转换为基础类型数据,包括:
采用所述引用类型数据对应的引用值替换所述引用类型数据,以将所述引用类型数据转换为基础类型数据;
确定所述文件类型数据对应的文件,并利用所述文件的存储路径信息替换所述文件类型数据,以将所述文件类型数据转换为基础类型数据。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于各组所述待转换数据对应的数据结构信息,生成所述结构化数据的说明文本;所述说明文本用于定义所述结构化数据需要满足的规则。
8.一种数据转换装置,其特征在于,包括:
获取模块,用于获取需要进行数据格式转换的待转换文件;所述待转换文件中包含至少一组待转换数据;
识别模块,用于从所述待转换文件中识别出每组所述待转换数据分别对应的数据结构信息;所述数据结构信息用于指示所述待转换数据中各项数据对应的字段名及字段类型;
转换模块,用于基于识别的所述数据结构信息,将所述至少一组待转换数据分别转换为目标数据格式下的结构化数据。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的数据转换方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任意一项所述的数据转换方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110667471.8A CN113297311B (zh) | 2021-06-16 | 2021-06-16 | 一种数据转换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110667471.8A CN113297311B (zh) | 2021-06-16 | 2021-06-16 | 一种数据转换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113297311A true CN113297311A (zh) | 2021-08-24 |
CN113297311B CN113297311B (zh) | 2023-12-19 |
Family
ID=77328456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110667471.8A Active CN113297311B (zh) | 2021-06-16 | 2021-06-16 | 一种数据转换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113297311B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117499504A (zh) * | 2023-12-29 | 2024-02-02 | 万联易达物流科技有限公司 | 一种报文格式转换方法和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649210A (zh) * | 2015-10-30 | 2017-05-10 | 北京国双科技有限公司 | 一种数据转换方法及装置 |
US20180157467A1 (en) * | 2016-12-03 | 2018-06-07 | Thomas STACHURA | Spreadsheet-Based Software Application Development |
CN110059303A (zh) * | 2019-04-23 | 2019-07-26 | 中铁电气化局集团有限公司 | Excel文件转换为JSON文件的方法及装置 |
CN110263121A (zh) * | 2019-05-07 | 2019-09-20 | 平安科技(深圳)有限公司 | 表格数据处理方法、装置、电子装置及计算机可读存储介质 |
CN110909123A (zh) * | 2019-10-23 | 2020-03-24 | 深圳价值在线信息科技股份有限公司 | 一种数据提取方法、装置、终端设备及存储介质 |
CN112434033A (zh) * | 2020-11-19 | 2021-03-02 | 中睿信数字技术有限公司 | 一种应对灵活多变的表格类数据收集和展示的方法 |
CN112966478A (zh) * | 2021-03-30 | 2021-06-15 | 建信金融科技有限责任公司 | 表格数据的格式转换方法、装置及存储介质 |
-
2021
- 2021-06-16 CN CN202110667471.8A patent/CN113297311B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649210A (zh) * | 2015-10-30 | 2017-05-10 | 北京国双科技有限公司 | 一种数据转换方法及装置 |
US20180157467A1 (en) * | 2016-12-03 | 2018-06-07 | Thomas STACHURA | Spreadsheet-Based Software Application Development |
CN110059303A (zh) * | 2019-04-23 | 2019-07-26 | 中铁电气化局集团有限公司 | Excel文件转换为JSON文件的方法及装置 |
CN110263121A (zh) * | 2019-05-07 | 2019-09-20 | 平安科技(深圳)有限公司 | 表格数据处理方法、装置、电子装置及计算机可读存储介质 |
CN110909123A (zh) * | 2019-10-23 | 2020-03-24 | 深圳价值在线信息科技股份有限公司 | 一种数据提取方法、装置、终端设备及存储介质 |
CN112434033A (zh) * | 2020-11-19 | 2021-03-02 | 中睿信数字技术有限公司 | 一种应对灵活多变的表格类数据收集和展示的方法 |
CN112966478A (zh) * | 2021-03-30 | 2021-06-15 | 建信金融科技有限责任公司 | 表格数据的格式转换方法、装置及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117499504A (zh) * | 2023-12-29 | 2024-02-02 | 万联易达物流科技有限公司 | 一种报文格式转换方法和系统 |
CN117499504B (zh) * | 2023-12-29 | 2024-03-22 | 万联易达物流科技有限公司 | 一种报文格式转换方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113297311B (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104200369B (zh) | 一种确定商品配送范围的方法和装置 | |
CN112052370A (zh) | 报文生成方法、装置、电子设备及计算机可读存储介质 | |
AU2018354105B2 (en) | Genealogical entity resolution system and method | |
CN114979120B (zh) | 数据上传方法、装置、设备及存储介质 | |
CN111797594B (zh) | 基于人工智能的字符串处理方法及相关设备 | |
CN113434674A (zh) | 数据解析方法、装置、电子设备及可读存储介质 | |
CN111352782A (zh) | 一种接口测试方法、装置、计算机设备及存储介质 | |
CN113031967A (zh) | 一种代码转换方法及装置 | |
CN111666101A (zh) | 软件同源分析方法及装置 | |
CN111078742A (zh) | 用户分类模型训练方法、用户分类方法及装置 | |
CN113297311A (zh) | 一种数据转换方法及装置 | |
CN114610955A (zh) | 一种智能检索方法、装置、电子设备及存储介质 | |
CN103049382B (zh) | 用于软件模块测试的测试案例生成方法及装置 | |
CN114637811A (zh) | 数据表实体关系图生成方法、装置、设备及存储介质 | |
CN106557569B (zh) | 基于元模型的非结构化文档的导入方法和导入装置 | |
CN110362540B (zh) | 一种数据存储、访客数获取方法及装置 | |
CN111400253A (zh) | 一种统计数据的查询方法、装置、电子设备及存储介质 | |
CN116185374A (zh) | 获取代码库依赖关系的方法、装置、电子设备及存储介质 | |
CN114741456A (zh) | 一种信息存储方法及装置 | |
CN112685574B (zh) | 领域术语层次关系的确定方法、装置 | |
CN112181849B (zh) | 测试用例识别方法、装置、设备及存储介质 | |
CN114461193A (zh) | 一种通信协议代码的生成方法、装置、设备及存储介质 | |
CN114185531A (zh) | 界面代码生成方法、装置、计算机设备以及存储介质 | |
CN110110280B (zh) | 对坐标的曲线积分计算方法、装置、设备及存储介质 | |
CN114116877B (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 |