一种文件转换的方法及装置制造方法及图纸

技术编号:19691874 阅读:29 留言:0更新日期:2018-12-08 11:11
本发明专利技术实施例提供了一种文件转换的方法及装置,其中所述方法包括:确定目标源文件信息;读取所述目标源文件信息对应的目标源文件中的数据,构建字典;根据所述目标源文件信息对应的预设代码输出配置信息,将所述字典转换成适于在客户端和/或服务器端中导出的代码文件。从而完成将文档转换成代码的过程,在这个过程中,源文件的数据与转换程序解耦,提高了转换程序的适用性,提升了对代码转换的开发效率,降低了对转换程序的维护成本。

【技术实现步骤摘要】
一种文件转换的方法及装置
本专利技术涉及数据处理
,特别是涉及一种文件转换的方法、一种文件转换的装置、一种文件转换系统以及一个或多个机器可读介质。
技术介绍
游戏开发中经常需要将策划配置的Excel数据转换为程序可直接读取的代码文件,这样做的好处是数据解耦,分工明确,策划和开发人员能够各司其职。Excel易于查看和统计数据,策划可以灵活的修改Excel数据内容而不用关心最终是如何在代码里呈现的;程序员则只用关注转换后的代码而不需要关注原始数据内容,其中起到关键桥梁作用的就是将Excel数据转换为代码数据的转换机制。游戏开发中涉及的Excel文件数量繁多,且每个Excel文件要求的格式千差万别,内容灵活多变,传统的做法是根据每张Excel内容和格式编写独立的转换程序,然后逐行逐列的从表格中获取数据并以目标语言格式写入文件。但这种方式需要编写大量重复度较高的转换程序,效率低下,因此有些项目编写了统一的转换程序,但依然需要针对每张Excel表格配置对应的模板。而游戏开发和维护过程充满不定性,一旦表格内容或者格式有修改(增加或删除表里的页或者某页里的列),就要改对应的导表程序或模板,影响开发效率,对程序或模板的维护成本较高。
技术实现思路
本专利技术实施例所要解决的技术问题是提供一种文件转换的方法,以解决现有的文件转换开发效率低下、维护成本高的问题。相应的,本专利技术实施例还提供了一种文件转换的装置和一种文件转换系统以及一个或多个机器可读介质,用以保证上述方法的实现及应用。为了解决上述问题,本专利技术公开了一种文件转换的方法,所述方法包括:确定目标源文件信息;读取所述目标源文件信息对应的目标源文件中的数据,构建字典;根据所述目标源文件信息对应的预设代码输出配置信息,将所述字典转换成适于在客户端和/或服务器端中导出的代码文件。优选地,所述确定目标源文件信息,包括:读取配置文件,其中,所述配置文件包括一个或多个源文件信息,以及各个源文件信息对应的代码输出配置信息;从所述一个或多个源文件信息中确定目标源文件信息。优选地,所述读取所述目标源文件信息对应的目标源文件中的数据,构建字典,包括:获取所述目标源文件中一页或多页的页标识;分别以每一页的页标识作为第一层索引Key1,设定各个Key1对应的值Value为第一空字典;遍历每一页,以每个变量名作为第一空字典中的Key,对应的原始数据作为第一空字典中的Value。优选地,所述目标源文件中的数据包括按照预设的编辑模板填写的变量数据以及原始数据;所述变量数据包括变量名称、以及与所述变量名称对应的变量描述和数据类型;所述目标源文件包括Excel文件,所述遍历每一页,以每个变量名作为第一空字典中的Key,对应的原始数据作为第一空字典中的Value,包括:在第一空字典中,将每一行的行标识作为第二层索引Key2,设定各个Key2对应的值Value为第二空字典;在第二空字典中,依次遍历当前行的每一列,按照每一列的变量名称对应的数据类型,对对应的原始数据进行校验,当所述校验通过时,以每一列的变量名称作为第三层索引Key3,将所述变量名称对应的原始数据作为Key3对应的Value,填入所述第二空字典中。优选地,所述代码输出配置信息包括服务器端输出配置信息和/或客户端输出配置信息,以及,所述服务器端输出配置信息和/或客户端输出配置信息对应的目标输出语言;所述根据所述目标源文件信息对应的预设代码输出配置信息,将所述字典转换成适于在客户端和/或服务器端中导出的代码文件,包括:新建服务器端字典和/或客户端字典;遍历所述字典,将所述字典中具有服务器端属性的变量加入所述服务器端字典中,和/或,将所述字典中具有客户端属性的变量加入所述客户端字典中;将所述字典中剩余的变量,分别添加到所述服务器端字典以及所述客户端字典中;根据对应的目标输出语言,将所述服务器端字典,和/或,所述客户端字典,分别序列化为字符串,在服务器端和/或客户端导出对应的代码文件。优选地,所述页标识包括所述服务器端属性和/或客户端属性;所述遍历所述字典,将所述字典中具有服务器端属性的变量加入所述服务器端字典中,和/或,将所述字典中具有客户端属性的变量加入所述客户端字典中,包括:遍历所述字典,提取具有服务器端属性的页标识对应的变量,作为服务器端变量,将所述服务器端变量去除所述服务器端属性后加入所述服务器端字典中;和/或,提取具有客户端属性的页标识对应的变量,作为客户端变量,将所述客户端变量去除所述客户端属性后加入所述客户端字典中。优选地,所述目标输出语言包括如下的至少一种:python语言、json语言、lua语言。本专利技术还公开了一种文件转换的装置,所述装置包括:目标源文件信息确定模块,用于确定目标源文件信息;字典构建模块,用于读取所述目标源文件信息对应的目标源文件中的数据,构建字典;转换模块,用于根据所述目标源文件信息对应的预设代码输出配置信息,将所述字典转换成适于在客户端和/或服务器端中导出的代码文件。本专利技术还公开了一种文件转换系统,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行上述的一种文件转换的方法。本专利技术还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行上述的一种文件转换的方法。与现有技术相比,本专利技术实施例包括以下优点:在本专利技术实施例中,当确定目标源文件信息以后,可以根据该目标源文件信息对应的目标源文件中的数据,构建字典,并根据该目标源文件信息对应的预设代码输出配置信息,将字典转换成适于在客户端和/或服务器端中导出的代码文件,从而完成将文档转换成代码的过程,在这个过程中,源文件的数据与转换程序解耦,提高了转换程序的适用性,提升了对代码转换的开发效率,降低了对转换程序的维护成本。进一步的,本专利技术实施例可以分别在客户端和/或服务器端中导出的所需代码文件,无需在客户端或服务器端都导出完整数据,有效降低转换后数据所占磁盘空间和运行时内存空间。附图说明图1是本专利技术实施例的一种文件转换的方法实施例的步骤流程图;图2是本专利技术实施例的一种文件转换的方法实施例的配置文件示意图;图3是本专利技术实施例的一种文件转换的方法实施例的源文件信息表;图4是本专利技术实施例的一种文件转换的方法实施例的单页Excel文件示意图;图5是本专利技术实施例的一种文件转换的方法实施例的多页文件示意图;图6是本专利技术实施例的一种文件转换的方法实施例的描述页示意图;图7-图8分别是本专利技术实施例的一种文件转换的方法实施例的单页Excel文件的服务器端及客户端代码文件示意图;图9-图10分别是本专利技术实施例的一种文件转换的方法实施例的多页Excel文件的服务器端及客户端代码文件示意图;图11-图14分别是本专利技术实施例的一种文件转换的方法实施例的Excel文件示例多页示意图;图15是本专利技术实施例的一种文件转换的方法实施例的Excel文件示例的配置文件示意图;图16-图17分别是本专利技术实施例的一种文件转换的方法实施例的Excel文件示例的服务器端及客户端代码文件示意图;图18是本专利技术实施例的一种文件转换的装置实施例的结构框图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显本文档来自技高网...

【技术保护点】
1.一种文件转换的方法,其特征在于,所述方法包括:确定目标源文件信息;读取所述目标源文件信息对应的目标源文件中的数据,构建字典;根据所述目标源文件信息对应的预设代码输出配置信息,将所述字典转换成适于在客户端和/或服务器端中导出的代码文件。

【技术特征摘要】
1.一种文件转换的方法,其特征在于,所述方法包括:确定目标源文件信息;读取所述目标源文件信息对应的目标源文件中的数据,构建字典;根据所述目标源文件信息对应的预设代码输出配置信息,将所述字典转换成适于在客户端和/或服务器端中导出的代码文件。2.根据权利要求1所述的方法,其特征在于,所述确定目标源文件信息,包括:读取配置文件,其中,所述配置文件包括一个或多个源文件信息,以及各个源文件信息对应的代码输出配置信息;从所述一个或多个源文件信息中确定目标源文件信息。3.根据权利要求1或2所述的方法,其特征在于,所述读取所述目标源文件信息对应的目标源文件中的数据,构建字典,包括:获取所述目标源文件中一页或多页的页标识;分别以每一页的页标识作为第一层索引Key1,设定各个Key1对应的值Value为第一空字典;遍历每一页,以每个变量名作为第一空字典中的Key,对应的原始数据作为第一空字典中的Value。4.根据权利要求3所述的方法,其特征在于,所述目标源文件中的数据包括按照预设的编辑模板填写的变量数据以及原始数据;所述变量数据包括变量名称、以及与所述变量名称对应的变量描述和数据类型;所述目标源文件包括Excel文件,所述遍历每一页,以每个变量名作为第一空字典中的Key,对应的原始数据作为第一空字典中的Value,包括:在第一空字典中,将每一行的行标识作为第二层索引Key2,设定各个Key2对应的值Value为第二空字典;在第二空字典中,依次遍历当前行的每一列,按照每一列的变量名称对应的数据类型,对对应的原始数据进行校验,当所述校验通过时,以每一列的变量名称作为第三层索引Key3,将所述变量名称对应的原始数据作为Key3对应的Value,填入所述第二空字典中。5.根据权利要求4所述的方法,其特征在于,所述代码输出配置信息包括服务器端输出配置信息和/或客户端输出配置信息,以及,所述服务器端输出配置信息和/或客户端输出配置信息对应的目标输出语言;所述根据所述目标源文件信息对应的预设代码输出...

【专利技术属性】
技术研发人员:尚乐
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1