文件处理方法及设备与流程

文档序号:36727393发布日期:2024-01-16 12:35阅读:23来源:国知局
文件处理方法及设备与流程

本技术涉及大数据智能分析领域,尤其涉及一种文件处理方法及设备。


背景技术:

1、表格(excel)文件广泛应用于各种批量数据场景中,这些批量数据对应批量对象,不同对象在同一种属性上的取值不同。例如,一个班中所有学生的基础信息可以用表格文件进行存储,不同学生的姓名、学号、体重等信息可能不同。

2、现有技术中,可以通过计算机软件对表格文件中的数据进行处理。具体地,首先,通过一些软件工具将读取表格文件中的数据,以将其转换为软件对象;然后,在对软件对象进行统计运算等。其中,软件工具可以为apache poi、easyexcel等。

3、然而,上述几种软件工具在企业级应用场景中的使用效果较差。


技术实现思路

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、对象转换模块,用于根据所述导入配置信息将所述键值映射对象转换为所述目标对象信息对应的目标对象,得到包括至少一个所述目标对象的第二对象列表。

36、可选地,所述文件处理指令还携带有运行时配置信息,所述配置合成模块还用于:

37、获取自定义的列注解信息,所述自定义的列注解信息位于所述注解配置信息中,或,目标配置类中;

38、通过所述自定义的列注解信息替换所述注解配置信息中原有的列注解信息,所述列注解信息包括列注解类和列注解属性;

39、将所述默认配置信息、所述注解配置信息和所述运行时配置信息,分别转换为所述目标配置类对应的三个实例;

40、按照所述默认配置信息、所述注解配置信息和所述运行时配置信息分别对应的优先级,将所述三个实例合成为所述导入配置信息对应的实例。

41、可选地,所述数据读取模块还用于:

42、从所述表格文件中读取二进制数据流;

43、从所述二进制数据流中确定所述表格文件的文件格式;

44、根据所述文件格式和所述导入配置信息,对所述二进制数据流进行解析,得到所述导入配置信息指定的目标页对应的第一对象列表。

45、可选地,所述对象转换模块还用于:

46、从所述导入配置信息中读取列匹配类型;

47、若所述列匹配类型包括按照列标题匹配,则根据所述导入配置信息中的列标题所在行号,从所述第一对象列表中获取标题序号关系,所述标题序号关系用于指示所述列标题和列序号之间的映射关系;

48、根据所述标题序号关系将所述键值映射对象转换为所述目标对象信息对应的目标对象,得到包括至少一个所述目标对象的第二对象列表。

49、可选地,所述键值映射对象包括列序号和列取值,所述对象转换模块还用于:

50、从所述导入配置信息中获取第一列注解属性;

51、从所述目标对象信息中各对象属性对应的注解使用信息中,提取所述第一列注解属性对应的属性取值,作为所述对象属性对应的列标题,以建立标题属性关系,所述标题属性关系用于指示所述列标题和所述对象属性之间的映射关系;

52、根据所述标题属性关系和所述标题序号关系,将所述列序号对应的列取值,赋值给所述列序号在所述目标对象中对应的所述对象属性。

53、可选地,所述对象转换模块还用于:

54、从所述导入配置信息中获取第二列注解属性;

55、从所述目标对象信息中各对象属性对应的注解使用信息中,提取所述第二列注解属性对应的属性取值,作为所述对象属性对应的数据转换规则;

56、通过所述对象属性的所述数据转换规则、所述标题序号关系和所述标题属性关系,将所述列序号对应的所述列取值进行数据格式转换之后,赋值给所述列序号在所述目标对象中对应的所述对象属性。

57、可选地,所述装置还包括:

58、辅助信息获取模块,用于在根据所述导入配置信息将所述键值映射对象转换为所述目标对象信息对应的目标对象,得到包括至少一个所述目标对象的第二对象列表之后,获取辅助信息,所述辅助信息包括以下至少一项:表格文件的基础信息和本次处理信息;

59、辅助信息添加模块,用于将所述辅助信息和所述第二对象列表进行封装以输出。

60、第三方面,本技术提供一种电子设备,包括存储器和至少一个处理器;

61、其中,存储器存储计算机执行指令;

62、至少一个处理器执行存储器存储的计算机执行指令,使得电子设备实现前述第一方面的方法。

63、第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。

64、第五方面,本技术提供一种计算机程序产品,用于实现第一方面的方法。

65、本技术提供的文件处理方法及设备,可以接收文件处理指令,文件处理指令携带有以下参数:表格文件、将所述表格文件中的数据进行转换的目标对象信息;根据默认配置信息和目标对象信息对应的注解配置信息,合成导入配置信息,导入配置信息用于指示对表格文件的数据处理策略;根据导入配置信息从表格文件中读取数据,得到包括至少一个键值映射对象的第一对象列表;根据导入配置信息将键值映射对象转换为目标对象信息对应的目标对象,得到包括至少一个目标对象的第二对象列表。本技术实施例的注解配置信息是根据业务场景灵活设置的,因此,在需求复杂的企业级应用场景中,可以实现其复杂的数据处理逻辑,在企业级应用场景中的使用效果较好。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1