一种快速生成指定格式文件的方法及系统与流程
未命名
08-29
阅读:178
评论:0

1.本发明涉及计算机应用技术领域,具体涉及一种快速生成指定格式文件的方法及系统。
背景技术:
2.目前,在相机的实际生产过程中,需要每天随机抽取100pcs成品相机camera安装到移动终端进行指定环境的拍摄,例如,指定环境为色温5000-6500k,照度1000lux,在标准实验光箱中加盖毛玻璃。拍摄完成后,导出测试图片并执行a脚本以对拍摄的图片进行色彩还原性和亮度的解析,并把解析结果和照片一并压缩后发给客户确认。由于客户提供的移动终端还处于工程阶段,不能通过usb直接获取拍摄图片,需要使用adbpull命令把拍摄图片复制到pc端;且a脚本只支持对单张照片进行处理,处理后的结果会直接显示在cmd命令行窗口中,其中数据为float类型,小数点后保留8位。此时,需要将数据通过人工手动输入到excel/csv/txt等格式文本中,而此过程繁琐且易出错。将一张张照片导入客户端脚本进行图片分析,脚本每次只能执行一张照片,极大地影响了工作效率,而且数据极为相似,容易导致数据输入错误。因此,急需设计一种可以批量处理照片并读取生成的数据以使其转换成指定格式文本的方法。
技术实现要素:
3.本发明的目的在于克服现有技术之缺陷,提供了一种快速生成指定格式文件的方法及系统,该方法使用多进程以提高执行效率,使用python的pandas库包提取命令行中的数据并保存到excel/csv/txt等格式文本中,减少了作业时间,提高了工作效率,减少了误差,提升了准确性,并且执行程序也会提升效率和规范精准作业,提升了作业uph。
4.为了到达预期效果,本发明采用了以下技术方案:
5.本发明公开了一种快速生成指定格式文件的方法,包括:
6.采集待处理照片;
7.将待处理照片均分成若干等份并生成对应数量的bat文件;
8.分别调用每个bat文件,并把命令行的输出结果导入对应的指定文本中;
9.遍历所有指定文本并汇总到新文本中;
10.通过筛选新文本获取目标数据并存为list;
11.将list的数组转换为指定格式文件。
12.进一步地,所述待处理照片为移动终端拍摄的不同色温的若干数量的照片。
13.进一步地,所述将待处理照片均分成若干等份,具体包括:根据cpu核数,将待处理照片均分成对应数量的若干等份。
14.进一步地,所述生成对应数量的bat文件,具体包括:将预设的执行脚本和若干等份的待处理照片中的每张照片的绝对路径组合在一起,并生成与若干等份对应数量的bat文件。
15.进一步地,所述分别调用每个bat文件,并把命令行的输出结果导入对应的指定文本中,具体包括:通过python分别调用每个bat文件,并把命令行的输出结果导入对应的指定txt文本中。
16.进一步地,所述通过筛选新文本获取目标数据并存为list,具体包括:通过python的string包筛选所需的字符串,获取目标数据并存为list。
17.进一步地,所述将list的数组转换为指定格式文件,具体包括:先将list的一维数组转换为多维数组,再将多维数组转换为指定格式文件。
18.进一步地,通过python的pandas库包将多维数组转换为指定格式文件。
19.进一步地,所述指定格式文件包括excel、csv、txt。
20.本发明还公开了一种快速生成指定格式文件的系统,包括:
21.采集模块,用于采集待处理照片;
22.生成模块,用于将待处理照片均分成若干等份并生成对应数量的bat文件;分别调用每个bat文件,并把命令行的输出结果导入对应的指定文本中;遍历所有指定文本并汇总到新文本中;通过筛选新文本获取目标数据并存为list;将list的数组转换为指定格式文件。
23.与现有技术相比,本发明的有益效果是:本发明公开了一种快速生成指定格式文件的方法及系统,该方法包括:采集待处理照片;将待处理照片均分成若干等份并生成对应数量的bat文件;分别调用每个bat文件,并把命令行的输出结果导入对应的指定文本中;遍历所有指定文本并汇总到新文本中;通过筛选新文本获取目标数据并存为list;将list的数组转换为指定格式文件。本发明使用多进程以提高执行效率,使用python的pandas库包提取命令行中的数据并保存到excel/csv/txt等格式文本中,减少了作业时间,提高了工作效率,减少了误差,提升了准确性,并且执行程序也会提升效率和规范精准作业,提升了作业uph。
附图说明
24.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
25.图1是本发明实施例提供的一种快速生成指定格式文件的方法的流程图。
26.图2是本发明实施例提供的一种快速生成指定格式文件的方法的bat文件示意图。
27.图3是本发明实施例提供的一种快速生成指定格式文件的方法的list数组示意图。
28.图4是本发明实施例提供的一种快速生成指定格式文件的方法的最终效果示意图。
具体实施方式
29.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
30.参见图1至图4,本发明公开了一种快速生成指定格式文件的方法,包括:
31.采集待处理照片;
32.将待处理照片均分成若干等份并生成对应数量的bat文件;
33.分别调用每个bat文件,并把命令行的输出结果导入对应的指定文本中;
34.遍历所有指定文本并汇总到新文本中;
35.通过筛选新文本获取目标数据并存为list;
36.将list的数组转换为指定格式文件。
37.本发明使用多进程以提高执行效率,使用python的pandas库包提取命令行中的数据并保存到excel/csv/txt等格式文本中,减少了作业时间,提高了工作效率,减少了误差,提升了准确性。
38.优选地,所述待处理照片为移动终端拍摄的不同色温的若干数量的照片。
39.例如,采集200张照片,其中,5000k色温100张,6500k色温100张。通过移动终端拍摄的照片存放在pc端的随机目录中以供后续操作使用。
40.优选地,所述将待处理照片均分成若干等份,具体包括:根据cpu核数,将待处理照片均分成对应数量的若干等份。
41.具体地,通过python的os库包的cpu_count功能确定将执行程序电脑的cpu核数,因为python程序执行时默认是只占用一个cpu进行工作的,当多核cpu一起工作时,执行程序的运行时间就会缩短。例如,假设是8个cpu一同运行,那么就把200张照片均等分成8份,每份25张照片,即代表着每个cpu处理25张图片。先把图片总数根据cpu核数(假设为n核)进行分块,分成n块,如果最后不够整除,就把多余部分转存到最后一块。
42.在一个实施例中,所述生成对应数量的bat文件,具体包括:将预设的执行脚本和若干等份的待处理照片中的每张照片的绝对路径组合在一起,并生成与若干等份对应数量的bat文件。
43.具体地,通过python的os库包获取每个cpu所处理的每张图片的名称,然后把python的执行脚本转换成windowsbat文件类型的批处理程序,即bat文件,例如echo.|d:\syx\a0.exed:\syx\picture\camera_2_factory_test(0).jpg》》d:\syx\0.txt&。
44.在另一个实施例中,所述分别调用每个bat文件,并把命令行的输出结果导入对应的指定文本中,具体包括:通过python分别调用每个bat文件,并把命令行的输出结果导入对应的指定txt文本中。
45.具体地,通过python分别调用每个bat文件后,把命令行的输出结果导入指定目录下的txt文本中,这样会生成8个对应的txt文本。等待图片处理程序执行结束后,把8个txt文本通过字节流的append命令汇总到一个新的txt文本中。
46.优选的实施例中,所述通过筛选新文本获取目标数据并存为list,具体包括:通过python的string包筛选所需的字符串,获取目标数据并存为list。将目标数据存为list是为了方便接下来用python的pandas库包中的dataframe功能把list转换成excel/csv/txt等指定格式文件中。优选地,为了提高计算效率,还可以将目标数据切分成若干小块后再存为list。
47.进一步地,所述将list的数组转换为指定格式文件,具体包括:先将list的一维数组转换为多维数组,再将多维数组转换为指定格式文件。
48.具体地,每个cpu处理每张图片时一共需要提取13个数据,通过前期的数据获取会得到2600个一维数组(200张照片*13个所需数据),需要把这个一维数组转换成200*13个多维数组,以节省后续的操作步骤,提高转换效率。
49.进一步地,通过python的pandas库包将多维数组转换为指定格式文件。
50.具体地,采用python的pandas库包的主要原因是:pandas库包是以矩阵为基础的数学计算模块,提供高性能的矩阵运算,可以实现多维数组运算,与excel行列结构一致,可以很方便地把多维数组结构的数据转换成excel、csv等结构的数据,最终把该excel、csv、txt等指定格式文件通过pandas库包的to_csv/excel/txt功能把文件输出到pc端的指定位置。pandas是基于numpy的一种工具,该工具是为解决数据分析任务而创建的。pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具和大量能快速便捷地处理数据的函数和方法。优选地,除了可以通过python的pandas库包将多维数组转换为指定格式文件,还可以直接通过numpy库包将多维数组转换为指定格式文件。numpy(numerical python)是python的一种开源的数值计算扩展,这种工具可用来存储和处理大型矩阵,比python自身的嵌套列表(nestedliststructure)结构要高效的多,该结构也可以用来表示矩阵(matrix),并支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
51.进一步地,所述指定格式文件包括excel、csv、txt等。其他常用格式文件也可以通过此方法进行快速生成。
52.本发明提供了一种快速生成指定格式文件的方法,该方法可以批量的处理照片并读取生成的数据使它转换成指定格式的excel、csv、txt等格式文本中。本发明使用多进程以提高执行效率,使用python的pandas库包提取命令行中的数据并保存到excel、csv、txt等格式文本中,减少了作业时间,提高了工作效率,减少了误差,提升了准确性。
53.本发明还公开了一种快速生成指定格式文件的系统,包括:
54.采集模块,用于采集待处理照片;
55.优选地,所述待处理照片为移动终端拍摄的不同色温的若干数量的照片。例如,采集200张照片,其中,5000k色温100张,6500k色温100张。通过移动终端拍摄的照片存放在pc端的随机目录中以供后续操作使用。
56.生成模块,用于将待处理照片均分成若干等份并生成对应数量的bat文件;分别调用每个bat文件,并把命令行的输出结果导入对应的指定文本中;遍历所有指定文本并汇总到新文本中;通过筛选新文本获取目标数据并存为list;将list的数组转换为指定格式文件。
57.优选地,所述将待处理照片均分成若干等份,具体包括:根据cpu核数,将待处理照片均分成对应数量的若干等份。
58.具体地,通过python的os库包的cpu_count功能确定将执行程序电脑的cpu核数,因为python程序执行时默认是只占用一个cpu进行工作的,当多核cpu一起工作时,执行程序的运行时间就会缩短。例如,假设是8个cpu一同运行,那么就把200张照片均等分成8份,每份25张照片,即代表着每个cpu处理25张图片。先把图片总数根据cpu核数(假设为n核)进
行分块,分成n块,如果最后不够整除,就把多余部分转存到最后一块。
59.在一个实施例中,所述生成对应数量的bat文件,具体包括:将预设的执行脚本和若干等份的待处理照片中的每张照片的绝对路径组合在一起,并生成与若干等份对应数量的bat文件。
60.具体地,通过python的os库包获取每个cpu所处理的每张图片的名称,然后把python的执行脚本转换成windowsbat文件类型的批处理程序,即bat文件,例如echo.|d:\syx\a0.exed:\syx\picture\camera_2_factory_test(0).jpg》》d:\syx\0.txt&。
61.在另一个实施例中,所述分别调用每个bat文件,并把命令行的输出结果导入对应的指定文本中,具体包括:通过python分别调用每个bat文件,并把命令行的输出结果导入对应的指定txt文本中。
62.具体地,通过python分别调用每个bat文件后,把命令行的输出结果导入指定目录下的txt文本中,这样会生成8个对应的txt文本。等待图片处理程序执行结束后,把8个txt文本通过字节流的append命令汇总到一个新的txt文本中。
63.优选的实施例中,所述通过筛选新文本获取目标数据并存为list,具体包括:通过python的string包筛选所需的字符串,获取目标数据并存为list。将目标数据存为list是为了方便接下来用python的pandas库包中的dataframe功能把list转换成excel/csv/txt等指定格式文件中。优选地,为了提高计算效率,还可以将目标数据切分成若干小块后再存为list。
64.进一步地,所述将list的数组转换为指定格式文件,具体包括:先将list的一维数组转换为多维数组,再将多维数组转换为指定格式文件。
65.具体地,每个cpu处理每张图片时一共需要提取13个数据,通过前期的数据获取会得到2600个一维数组(200张照片*13个所需数据),需要把这个一维数组转换成200*13个多维数组,以节省后续的操作步骤,提高转换效率。
66.进一步地,通过python的pandas库包将多维数组转换为指定格式文件。
67.具体地,采用python的pandas库包的主要原因是:pandas库包是以矩阵为基础的数学计算模块,提供高性能的矩阵运算,可以实现多维数组运算,与excel行列结构一致,可以很方便地把多维数组结构的数据转换成excel、csv等结构的数据,最终把该excel、csv、txt等指定格式文件通过pandas库包的to_csv/excel/txt功能把文件输出到pc端的指定位置。pandas是基于numpy的一种工具,该工具是为解决数据分析任务而创建的。pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具和大量能快速便捷地处理数据的函数和方法。优选地,除了可以通过python的pandas库包将多维数组转换为指定格式文件,还可以直接通过numpy库包将多维数组转换为指定格式文件。numpy(numerical python)是python的一种开源的数值计算扩展工具,这种工具可用来存储和处理大型矩阵,比python自身的嵌套列表(nestedliststructure)结构要高效的多,该结构也可以用来表示矩阵(matrix),并支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
68.进一步地,所述指定格式文件包括excel、csv、txt等。其他常用格式文件也可以通过此方法进行快速生成。
69.针对目前公司客户端平板导出照片后需执行客户端脚本进行图片分析,目前需要
一张张照片导入客户端脚本执行。按照当前作业方法,每次只能执行一张照片,极大的影响效率,且数据极为相似容易导致数据输入错误。本发明提供了一种快速生成指定格式文件的系统,该系统可以批量的处理照片并读取生成的数据使它转换成指定格式的excel、csv、txt等格式文本中。本发明使用多进程以提高执行效率,使用python的pandas库包提取命令行中的数据并保存到excel、csv、txt等格式文本中,减少了作业时间,提高了工作效率,减少了误差,提升了准确性。
70.基于同一发明思路,本发明还公开了一种电子设备,该电子设备可以包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信。处理器可以调用存储器中的逻辑指令,以执行一种快速生成指定格式文件的方法,该方法包括:采集待处理照片;将待处理照片均分成若干等份并生成对应数量的bat文件;分别调用每个bat文件,并把命令行的输出结果导入对应的指定文本中;遍历所有指定文本并汇总到新文本中;通过筛选新文本获取目标数据并存为list;将list的数组转换为指定格式文件。
71.此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
72.另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的一种快速生成指定格式文件的方法,该方法包括:采集待处理照片;将待处理照片均分成若干等份并生成对应数量的bat文件;分别调用每个bat文件,并把命令行的输出结果导入对应的指定文本中;遍历所有指定文本并汇总到新文本中;通过筛选新文本获取目标数据并存为list;将list的数组转换为指定格式文件。
73.又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的一种快速生成指定格式文件的方法,该方法包括:采集待处理照片;将待处理照片均分成若干等份并生成对应数量的bat文件;分别调用每个bat文件,并把命令行的输出结果导入对应的指定文本中;遍历所有指定文本并汇总到新文本中;通过筛选新文本获取目标数据并存为list;将list的数组转换为指定格式文件。
74.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他
步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
75.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种快速生成指定格式文件的方法,其特征在于,包括:采集待处理照片;将待处理照片均分成若干等份并生成对应数量的bat文件;分别调用每个bat文件,并把命令行的输出结果导入对应的指定文本中;遍历所有指定文本并汇总到新文本中;通过筛选新文本获取目标数据并存为list;将list的数组转换为指定格式文件。2.如权利要求1所述的一种快速生成指定格式文件的方法,其特征在于,所述待处理照片为移动终端拍摄的不同色温的若干数量的照片。3.如权利要求1所述的一种快速生成指定格式文件的方法,其特征在于,所述将待处理照片均分成若干等份,具体包括:根据cpu核数,将待处理照片均分成对应数量的若干等份。4.如权利要求1或3所述的一种快速生成指定格式文件的方法,其特征在于,所述生成对应数量的bat文件,具体包括:将预设的执行脚本和若干等份的待处理照片中的每张照片的绝对路径组合在一起,并生成与若干等份对应数量的bat文件。5.如权利要求1所述的一种快速生成指定格式文件的方法,其特征在于,所述分别调用每个bat文件,并把命令行的输出结果导入对应的指定文本中,具体包括:通过python分别调用每个bat文件,并把命令行的输出结果导入对应的指定txt文本中。6.如权利要求1所述的一种快速生成指定格式文件的方法,其特征在于,所述通过筛选新文本获取目标数据并存为list,具体包括:通过python的string包筛选所需的字符串,获取目标数据并存为list。7.如权利要求1所述的一种快速生成指定格式文件的方法,其特征在于,所述将list的数组转换为指定格式文件,具体包括:先将list的一维数组转换为多维数组,再将多维数组转换为指定格式文件。8.如权利要求1或7所述的一种快速生成指定格式文件的方法,其特征在于,通过python的pandas库包将多维数组转换为指定格式文件。9.如权利要求1所述的一种快速生成指定格式文件的方法,其特征在于,所述指定格式文件包括excel、csv、txt。10.一种快速生成指定格式文件的系统,其特征在于,包括:采集模块,用于采集待处理照片;生成模块,用于将待处理照片均分成若干等份并生成对应数量的bat文件;分别调用每个bat文件,并把命令行的输出结果导入对应的指定文本中;遍历所有指定文本并汇总到新文本中;通过筛选新文本获取目标数据并存为list;将list的数组转换为指定格式文件。
技术总结
本发明公开了一种快速生成指定格式文件的方法及系统,该方法包括:采集待处理照片;将待处理照片均分成若干等份并生成对应数量的bat文件;分别调用每个bat文件,并把命令行的输出结果导入对应的指定文本中;遍历所有指定文本并汇总到新文本中;通过筛选新文本获取目标数据并存为List;将List的数组转换为指定格式文件。本发明使用多进程以提高执行效率,使用Python的Pandas库包提取命令行中的数据并保存到Excel/CSV/TXT等格式文本中,减少了作业时间,提高了工作效率,减少了误差,提升了准确性,并且执行程序也会提升效率和规范精准作业,提升了作业UPH。提升了作业UPH。提升了作业UPH。
技术研发人员:何其三 邱全兴 何秀娟
受保护的技术使用者:湖北三赢兴光电科技股份有限公司
技术研发日:2023.04.21
技术公布日:2023/8/28
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/