CN113626389A - 一种坐标文件的解析方法以及电子设备 - Google Patents
一种坐标文件的解析方法以及电子设备 Download PDFInfo
- Publication number
- CN113626389A CN113626389A CN202110938490.XA CN202110938490A CN113626389A CN 113626389 A CN113626389 A CN 113626389A CN 202110938490 A CN202110938490 A CN 202110938490A CN 113626389 A CN113626389 A CN 113626389A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- coordinate
- initial coordinate
- column
- 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.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title abstract description 24
- 238000000034 method Methods 0.000 claims abstract description 76
- 238000004806 packaging method and process Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 abstract description 20
- 238000004519 manufacturing process Methods 0.000 abstract description 15
- 238000012545 processing Methods 0.000 abstract description 13
- 238000004140 cleaning Methods 0.000 abstract description 7
- 238000007689 inspection Methods 0.000 abstract description 4
- 238000003860 storage Methods 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 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/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种坐标文件的解析方法以及电子设备,这种方法包括获取初始坐标文件;对初始坐标文件进行解析,获取初始坐标文件的列头数据以及电子元件的初始坐标数据;根据列头数据,对初始坐标数据进行检验处理,获取目标坐标数据;根据列头数据以及目标坐标数据,封装成解析坐标数据。通过对不同格式的初始坐标文件进行对应的解析识别,分别获取列头数据以及坐标数据,并对获取的数据进行清洗及转换,最后封装成所需格式数据传输至系统。解析过程使得系统得以兼容多种格式的坐标文件,最后输出为统一数据格式,改善了目前因坐标文件各种繁多造成的识别困难的问题,进而提高了生产效率、降低了成本。
Description
技术领域
本申请涉及电子器件领域,具体涉及一种坐标文件的解析方法以及电子设备。
背景技术
现代电子生产企业的设计部门几乎全部采用PCB软件进行电路设计,生产制造部门也大量使用贴片机、插件机等自动化设备进行生产,如何在这两者之间建立起有效的联系,进而提高生产效率、降低生产成本是工艺技术人员研究的目标。
目前,SMT生产线加工设备编程所需要的大多数特征数据完全可以从PCB设计文件中获取,如元件在PCB上的位置坐标等。这就经常需要用到PCB坐标文件,但是目前市场上PCB设计软件众多,经由不同软件导出的坐标文件格式也不同,这就为后续的系统识别造成了很大的困难,使得数据处理的成本较高且生产效率较低。
发明内容
有鉴于此,本申请提供了一种坐标文件的解析方法以及电子设备,解决了现有技术中由于坐标文件格式不同,使得数据处理的成本较高且生产效率较低的技术问题。
根据本申请的一个方面,本申请实施例提供了一种坐标文件的解析方法,这种坐标文件的解析方法包括:获取初始坐标文件;对所述初始坐标文件进行解析,获取所述初始坐标文件的列头数据以及电子元件的初始坐标数据;根据所述列头数据,对所述初始坐标数据进行检验处理,获取目标坐标数据;以及根据所述列头数据以及所述目标坐标数据,封装成解析坐标数据。
在一实施例中,所述对所述初始坐标文件进行解析,获取所述初始坐标文件的列头数据以及电子元件的初始坐标数据,包括:获取所述初始坐标文件的文件格式;以及根据所述初始坐标文件的文件格式,对所述初始坐标文件进行解析,获取所述列头数据以及所述初始坐标数据。
在一实施例中,所述根据所述初始坐标文件的文件格式,对所述初始坐标文件进行解析,获取所述列头数据以及所述初始坐标数据,当所述初始坐标文件的文件格式为PNP文件时,包括:获取所述PNP文件的文件分隔符;根据所述PNP文件的文件分隔符,对所述PNP文件进行数据行的识别,获取多个行数据;获取所述PNP文件的第一预设行的行数据作为列头数据;以及获取所述PNP文件的第二预设行的行数据作为初始坐标数据。
在一实施例中,所述根据所述初始坐标文件的文件格式,对所述初始坐标文件进行解析,获取所述列头数据以及所述初始坐标数据,当所述初始坐标文件的文件格式为无列头文件时,包括:获取所述无列头文件的文件分隔符;根据所述无列头文件的文件分隔符,对所述无列头文件进行数据行的识别,获取多个所述行数据;以预设标准列头数据作为所述无列头文件的列头数据;以及获取所述无列头文件的第三预设行的行数据并对所述第三预设行的行数据进行切分,获取切分后的数据作为所述无列头文件的初始坐标数据。
在一实施例中,在所述获取所述无列头文件的第三预设行的行数据并对所述第三预设行的行数据进行切分,获取切分数据作为所述无列头文件的初始坐标数据之后,还包括:当所述切分数据的列数大于所述预设标准列头数据的数量时,将多余数据合并成一个字段值,并以空格连接。
在一实施例中,所述根据所述初始坐标文件的文件格式,对所述初始坐标文件进行解析,获取所述列头数据以及所述初始坐标数据,当所述初始坐标文件的文件格式为文本文件时,包括:获取所述文本文件的文件分隔符;根据所述文本文件的文件分隔符,对所述文本文件进行切分,获取初始文本数据;根据所述列头对照数据库,遍历预设行数范围内的所有所述初始文本数据,获取列头命中数据;根据所述列头命中数据,获取所述列头命中数据最多的行作为列头数据;以及获取所述列头数据以下的行数据作为初始坐标数据。
在一实施例中,所述根据所述初始坐标文件的文件格式,对所述初始坐标文件进行解析,获取所述列头数据以及所述初始坐标数据,当所述初始坐标文件的文件格式为Excel文件时,包括:获取所述Excel文件的一个或多个工作表;遍历每个所述工作表,获取每个所述工作表的行数据;根据所述列头对照数据库中包括的标准列头数据,在多个所述行数据中查找与所述标准列头数据相匹配的所述行数据作为所述工作表的列头数据;获取所述列头数据所在行的以下行数据,将所述以下行数据作为所述初始坐标数据。
在一实施例中,所述根据所述列头数据,对所述初始坐标数据进行检验处理,获取目标坐标数据,包括:获取所述列头数据的数量;获取所述初始坐标数据中每个行数据的列数;根据所述列头数据的数量以及所述初始坐标数据中每个行数据的列数,获取所述初始坐标数据中的行数据的列数与所述列头数据的数量不相等的无效行数据;在所述初始坐标数据中去除所述无效行数据,生成目标坐标数据。
在一实施例中,所述在所述初始坐标数据中去除所述无效行数据,生成目标坐标数据,包括:在所述初始坐标数据中去除所述无效行数据,生成初始目标坐标数据;获取所述列头数据中的数值型列头;获取所述数值型列头所对应的数值型数据;提取所述数值型数据中的单位数据以及数值数据;将所述单位数据保存至新增的单位列头对应的列中,将所述数值数据保存至所述数值型列头对应的列中,生成目标坐标数据。
根据本申请的另一个方面,本申请实施例提供了一种电子设备,此电子设备包括:处理器;以及用于存储所述处理器可执行信息的存储器;其中,所述处理器用于执行上述实施例中所述的坐标文件的解析方法。
本申请提供了一种坐标文件的解析方法以及电子设备,这种坐标文件的解析方法包括获取初始坐标文件;对所述初始坐标文件进行解析,获取所述初始坐标文件的列头数据以及电子元件的初始坐标数据;以及根据所述列头数据,对所述初始坐标数据进行检验处理,获取目标坐标数据;根据所述列头数据以及所述目标坐标数据,封装成解析坐标数据。通过对不同格式的初始坐标文件进行对应的解析识别,分别获取列头数据以及坐标数据,并对获取到的列头数据以及坐标数据进行清洗及转换,最后封装成所需格式数据传输至系统。解析过程使得系统得以兼容多种格式的坐标文件,最后输出为统一数据格式,改善了目前因坐标文件种类繁多造成的识别困难的问题,进而降低了数据处理的成本且提高了生产效率。
附图说明
图1所示为本申请一实施例提供一种坐标文件的解析方法的流程示意图。
图2所示为本申请另一实施例提供一种坐标文件的解析方法的流程示意图。
图3所示为本申请另一实施例提供一种坐标文件的解析方法中解析PNP格式的初始坐标文件的方法的流程示意图。
图4所示为本申请另一实施例提供一种坐标文件的解析方法中解析无列头文件格式的初始坐标文件的方法的流程示意图。
图5所示为本申请另一实施例提供一种坐标文件的解析方法中解析文本文件格式的初始坐标文件的方法的流程示意图。
图6所示为本申请另一实施例提供一种坐标文件的解析方法中解析Excel文件格式的初始坐标文件的方法的流程示意图。
图7所示为本申请另一实施例提供一种坐标文件的解析方法中对初始坐标数据进行检验处理的方法的流程示意图。
图8所示为本申请另一实施例提供一种坐标文件的解析方法中对初始坐标数据进行检验处理的方法的流程示意图。
图9所示为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本申请实施例中所有方向性指示(诸如上、下、左、右、前、后、顶、底……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
另外,在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1所示为本申请一实施例提供一种坐标文件的解析方法的流程示意图。如图1所示,这种坐标文件的解析方法具体包括如下步骤:
步骤100:获取初始坐标文件。
坐标文件指的是PCB设计生产过程中的电子元件位置坐标文件。初始坐标文件为系统获取到的原始坐标文件,该原始坐标文件即为由不同PCB设计软件导出的不同格式的坐标文件。由于初始坐标文件的格式不同,数据的排列方式也不同,因此需要在获取后对其进行数据格式上的统一,以便后续系统对其进行识别。
步骤200:对初始坐标文件进行解析,获取初始坐标文件的列头数据以及电子元件的初始坐标数据。
列头数据指的是每列数据的开头数据,代表了该列数据的具体含义,是进行数据识别的关键信息;电子元件的初始坐标数据为经初步解析后的坐标数据,此数据已经进行了格式的统一,但有可能还存在部分需要清洗以及转换的数据。通过对初始坐标文件进行解析,使得业务系统能够兼容不同格式的坐标文件;且利用列头数据以及初始坐标数据的识别,能够有效获取到初始坐标文件的有效信息,降低数据错漏的概率,提高识别的效率以及准确性。
步骤300:根据列头数据,对初始坐标数据进行检验处理,获取目标坐标数据。
目标坐标数据指的是经过检验处理的初始坐标数据,此类数据已经经过了数据的清洗以及转换。对初始坐标数据进行清洗以及转换后,可以获取到更加准确有效的坐标数据,进一步提高后续坐标数据识别的效率,进而提高生产效率。
步骤400:根据列头数据以及目标坐标数据,封装成解析坐标数据。
解析坐标数据为后续系统能够识别的标准数据,可以封装为JSON数据形式,但本申请不对解析坐标数据的具体形式作出限定。将列头数据以及解析坐标数据进行封装处理,能够使得后续业务系统更加快速、准确地进行数据识别,提高生产效率的同时,降低数据处理的成本。
这种识别方法通过对不同格式的初始坐标文件进行对应的解析识别,分别获取列头数据以及坐标数据,并对获取到的列头数据以及坐标数据进行清洗及转换,最后封装成所需格式数据传输至系统。解析过程使系统得以兼容多种格式的坐标文件,最后输出为统一数据格式,改善了目前因坐标文件种类繁多造成的识别困难的问题,进而提高了生产效率、降低了数据处理的成本。
在一种可能的实现方式中,图2所示为本申请另一实施例提供一种坐标文件的解析方法的流程示意图。如图2所示,步骤200具体可以包括如下步骤:
步骤210:获取初始坐标文件的文件格式。
初始坐标文件的文件格式为初始坐标文件在由不同PCB设计软件导出时的原始格式。由于不同格式的文件,其中的数据形式也不同,因此需要先对初始坐标文件的文件格式进行对应识别,系统可根据初始坐标文件的后缀识别名进行识别。准确地识别初始坐标文件的文件格式,有助于系统根据文件格式进行对应的解析,以提高解析后所得数据的准确性。
步骤220:根据初始坐标文件的文件格式,对初始坐标文件进行解析,获取列头数据以及初始坐标数据。
由于不同文件格式的文件,其数据排列规律不同,因此,根据文件的格式进行不同的解析,才能使得解析后的数据准确性更高,有助于获取到更加有效的坐标数据,同时使得解析过程更加高效。获取列头数据可以获取到该列头数据所对应的坐标数据的具体含义,以便对数据进行更加有效的清理以及转换,因此,需要首先获取列头数据,从而获取初始坐标数据。
具体的,图3所示为本申请另一实施例提供一种坐标文件的解析方法中解析PNP格式的初始坐标文件的方法的流程示意图。如图3所示,当初始坐标文件为PNP文件时,步骤220进一步可以包括如下步骤:
步骤2201:获取PNP文件的文件分隔符。
文件分隔符用于标识文字分隔的位置,或在将文本转换为表格时,用其标识新行或新列的起始位置。通过定位文件分隔符可以更加准确地定位到各个数据的位置,以进行后续的列头识别以及数据识别。而PNP文件的文件分隔符为不定量的多个空格符,系统在进行数据的识别前,先进行空格符的识别,并在识别后将不定量的多个空格进行合并,合并为单个空格,以降低空格符对后续进行数据识别的影响。
步骤2202:根据PNP文件的文件分隔符,对PNP文件进行数据行的识别,获取多个行数据。
数据行指的是经文件分隔符的分隔后,形成行与列的分布,对其中每行内的数据进行识别;行数据则指的是识别后所获得的每行内的数据。由于列头数据本质上也为数据,不同的列头数据均位于同一行内,因此,将数据按照行来划分,有利于后续对列头数据的提取,以使得提取过程更加高效。
步骤2203:获取PNP文件的第一预设行的行数据作为列头数据。
由于PNP文件格式的坐标文件具有标准的文本格式,因此预先设置其固定格式中的列头所在行以及坐标数据所在行为第一预设行,对应进行识别即可。其中,PNP文件的列头数据在第7行,因此将第7行设置为第一预设行,并将第7行识别的数据作为列头数据。通过第一预设行的设置,使得系统能够对PNP文件的列头数据进行准确地提取,进而提高PNP文件解析的准确性。
步骤2204:获取PNP文件的第二预设行的行数据作为初始坐标数据。
同理PNP文件的列头数据,其坐标数据在第10行,因此将第10行设置为第二预设行,并对第10行的数据进行识别提取,将所提取的数据作为PNP文件的初始坐标数据。提取过程,快速准确,效率较高。
可选的,图4所示为本申请另一实施例提供一种坐标文件的解析方法中解析无列头文件格式的初始坐标文件的方法的流程示意图。如图4所示,当初始坐标文件为无列头文件时,步骤220具体可以包括如下步骤:
步骤2211:获取无列头文件的文件分隔符。
无列头文件指的是MNT文件以及318文件,当初始坐标文件以这两种格式导出时,文件数据中不包括列头数据,只包括坐标数据。当初始坐标文件为这两种文件格式时,依然需要先获取初始坐标文件中的文件分隔符,以达到准确识别数据的目的。MNT文件以及318文件的文件分隔符同为不定量的多个空格符,在进行数据的识别以及切分前,都先将文件中连续多个的空格符合并为一个空格符,并将合并后的空格符作为最终的文件分隔符,并以此文件分隔符进行后续步骤。
步骤2212:根据无列头文件的文件分隔符,对无列头文件进行数据行的识别,获取多个行数据。
当获取到无列头文件的文件分隔符后,同理上述实施例,利用文件分隔符所形成的行与列,获取到无列头文件的行数据,以便依据行数据识别对应的列头数据,并对坐标数据进行相应的识别以及提取。
步骤2213:以预设标准列头数据作为无列头文件的列头数据。
预设标准列头数据为根据MNT文件以及318文件的固定坐标数据,以及固定坐标数据的固定顺序,对其坐标数据进行对应列头的匹配,将此对应列头称为预设标准列头数据。其中,MNT文件的固定列头以及对应的列头顺序为:pnpDesignator(数据类型为string,表示位号)、pnpCenterX(数据类型为float,表示中心X坐标提取数值)、pnpCenterY(数据类型为float,表示中心Y坐标提取数值)、pnpRotation(数据类型为float,表示角度提取数值)、pnpValue(数据类型为string,表示器件参数提取数值)以及pnpFootprint(数据类型为string,表示封装);318文件的固定列头以及对应的列头顺序为:pnpDesignator、pnpValue、pnpCenterX、pnpCenterY以及pnpRotation。根据上述对应列头数据以及列头数据的顺序,分别设置第一预设标准列头数据作为MNT文件的列头数据,设置第二标准列头数据作为318文件的列头数据。通过上述过程,使系统得以快速准确地生成无列头文件的列头数据,为进一步解析此类型的初始坐标文件提供条件。
步骤2214:获取无列头文件的第三预设行的行数据并对第三预设行的行数据进行切分,获取切分后的数据作为无列头文件的初始坐标数据。
第三预设行为无列头文件中坐标数据的所在行,MNT文件以及318文件的坐标数据均从第1行开始,因此,两种格式的初始坐标文件,均以识别出的第一行的行数据作为初始坐标数据的起点,并逐行获取其他初始坐标数据。系统在识别出初始坐标数据后,以行为单位对数据以空格符进行切分,并将所得切分数据作为初始坐标数据。通过上述初始坐标数据的获取过程,可以准确高效地获取到初始坐标数据。
在一种可能的实现方式中,如图4所示,在步骤2214之后,还可以进一步包括步骤2215:
步骤2215:当切分数据的列数大于预设标准列头数据的数量时,将多余数据合并成一个字段值,并以空格连接。
通过步骤2213可以明显得知,MNT文件包括六种列头数据,因此显然该文件应包括六列初始坐标数据,当以空格符对其数据进行切分后,所得列数为六列,则无需进行字段值的合并;当所得列数大于六列时,通常情况为第五列的每个数据字段值中包含空格,此空格造成了错误切分,因此需要对第五列至最后一列之前的数据进行字段值的合并,并将合并后的数据以空格进行连接。
同理,318文件包括五种列头数据,因此显然318文件在进行数据的切分后,应该包括五列初始坐标数据,当所得列数为五列时,则为正常情况,无需进行字段值的合并;当所得列数大于五列时,说明第二列每个数据的对应字段值中包括空格,此空格造成了错误切分,因此需要对第二列至倒数第三列之前的数据进行字段值的合并,并将合并后的数据以空格进行连接。
通过上述合并过程,可获得正确的初始坐标数据,以实现对MNT文件以及318文件的准确解析,并输出正确的列头数据以及初始坐标数据,以进行后续的数据封装。
可选的,图5所示为本申请另一实施例提供一种坐标文件的解析方法中解析文本文件格式的初始坐标文件的方法的流程示意图。如图5所示,当初始坐标文件为文本文件格式时,步骤220可以进一步包括如下步骤:
步骤2221:获取文本文件的文件分隔符。
文本文件指的是CSV或TSV或TXT格式的文件。而上述文件的文件分隔符可能为Tab制表符、分号符、逗号符或空格符,因此需要先确定初始坐标文件为上述备选的文件分隔符中哪一种。具体确认过程如下:逐行遍历初始坐标文件,获取上述备选的文件分隔符,逐个选取上述每个文件分隔符对文件进行切分,并分别记录切分结果,其中,双引号所包括的内容,不进行切分;统计每种文件分隔符切分出来的切分数据,选择切分后列数相同的数量最多的一种,作为初始坐标文件的文件分隔符。以此来提高所选文件分隔符的准确性,避免错选导致影响最终数据的解析识别。
步骤2222:根据文本文件的文件分隔符,对文本文件进行切分,获取初始文本数据。
初始文本数据为根据上述选取的文件分隔符进行切分后所得的数据,该数据还未进行列头数据以及初始坐标数据的识别。先对文本文件以数据分隔符进行对应切分,获取单独的数据,以便后续进行列头数据以及初始坐标数据的识别。
步骤2223:根据列头对照数据库,遍历预设行数范围内的所有初始文本数据,获取列头命中数据。
列头对照数据库为根据坐标文件中常见的列头所生成的列头数据库,其中包括上述实施例中MNT文件以及318文件的预设标准列头数据中的所有数据,但不限于上述列头数据。预设行数范围为系统设置的列头数据可能存在的行数范围,可以为前5行或前10行或前20行,本实施例选择前20行作为预设行数范围,但本申请不对预设行数范围的具体值作出限定。列头命中数据为预设行数范围内,与列头对照数据库中的标准列头数据相匹配的初始文本数据。在预设行数范围内,进行列头数据的识别,既可以确保列头数据不被遗漏,又可以避免不必要的数据识别过程,同时提高了识别的准确性以及识别的高效性。
步骤2224:根据列头命中数据,获取列头命中数据最多的行作为列头数据。
显然,列头数据所在行的行数据中,列头命中数据应该最多,因此选择列头命中数据最多的行作为列头数据,更加可靠。
步骤2225:获取列头数据以下的行数据作为初始坐标数据。
在文本文件中,坐标数据在列头数据所在行的下一行,因此识别列头数据以下的行数据作为初始坐标数据即可,如此可以进一步确保初始列头数据的准确性。
具体的,图6所示为本申请另一实施例提供一种坐标文件的解析方法中解析Excel文件格式的初始坐标文件的方法的流程示意图。如图6所示,当初始坐标文件为Excel文件格式时,步骤220可以进一步包括如下步骤:
步骤2231:获取Excel文件的一个或多个工作表。
工作表(sheet)是显示在workbook窗口中的表格。一个sheet可以由1048576行和2464列构成。行的编号从1到65536,列的编号依次用字母A、B……IV表示。sheet是Excel存储和处理数据的最重要的部分,其中包含排列成行和列的单元格。获取Excel文件中的工作表是对Excel文件格式的初始坐标文件进行解析的前提。
步骤2232:遍历每个工作表,获取每个工作表的行数据。
同理上述实施例,Excel文件中的列头数据也应该分布在同一行内,因此,以行为单位进行数据的获取,是识别列头数据快速且有效的方式。
步骤2233:根据列头对照数据库中包括的标准列头数据,在多个行数据中查找与标准列头数据相匹配的行数据作为工作表的列头数据。
标准列头数据指的是列头对照数据库中列举的常见坐标文件的列头数据,除上述实施例中列举的列头数据外,进一步还可以包括但不限于如下列头数据:pnpSMD(数据类型为string,表示安装方式,全部统一成Yes和/或No)、pnpGlued(数据类型为string,表示是否胶粘,全部统一成Yes和/或No)、pnpPins(数据类型为int,表示脚数)、pnpDesc(数据类型为string,表示描述)、pnpRefX(数据类型为float,表示参考点X坐标提取数值)、pnpRefY(数据类型为float,表示参考点Y坐标提取数值)、pnpPadX(数据类型为float,表示焊盘中心点X坐标提取数值)、pnpPadY(数据类型为float,表示焊盘中心点Y坐标提取数值)、pnpUnit(数据类型为string,表示单位,全部统一为mm或mli)。参照上述标准列头数据在每个表格的多个行数据中对照匹配具有命中数据的行数据,且选择其中命中数据最多的行数据作为Excel文件的列头数据。通过这种匹配方式,可以有效获取到Excel文件的列头数据。需要说明的是,匹配标准列头数据的过程中,忽略字母大小写、标点符号以及无意义字符的干扰进行,以提高命中数据获取过程的全面性以及准确性。
步骤2234:获取列头数据所在行的以下行数据,将以下行数据作为初始坐标数据。
同理上述实施例,初始坐标数据通常紧跟在列头数据的下一行,因此,获取列头数据所在行的下一行作为初始坐标数据的首行,并获取初始坐标数据所在行的以下行数据作为其他初始坐标数据即可,如此可以快速有效地获取到初始坐标数据。
此外,在一种可能的实现方式中,图7所示为本申请另一实施例提供一种坐标文件的解析方法中对初始坐标数据进行检验处理的方法的流程示意图。如图7所示,步骤300进一步可以包括如下步骤:
步骤301:获取列头数据的数量。
由于初始坐标文件的格式类型繁多,且其中各种文本的格式容易混乱,因此需要对解析出来的列头数据以及初始坐标数据进行检验清理。检验清理的方式就是根据列头数据的数量与每行的初始坐标数据的列数是否相同来进行相应清理,当列头数据的数量与初始坐标数据的列数相等时,即为有效的初始坐标数据,当列头数据的数量与初始坐标数据的列数不相等时,即为无效的初始租坐标数据。此过程中,获取列头数据的数量是前提。
步骤302:获取初始坐标数据中每个行数据的列数。
同理步骤301,获取初始坐标数据中每个行数据所包含的列数也是进行检验清理的前提。但需要说明的是,步骤301和步骤302的执行顺序不分先后,可根据具体系统的具体情况而定,本申请对这两步的执行顺序不作出限定。
步骤303:根据列头数据的数量以及初始坐标数据中每个行数据的列数,获取初始坐标数据中的行数据的列数与列头数据的数量不相等的无效行数据。
无效行数据指的是,列头数据的数量与初始坐标数据的列数不相等的情况中的初始坐标数据,由于有效初始坐标数据进行保留即可,无效初始坐标数据需要去除,因此需要对无效行数据进行获取,以实现对数据的清理。
步骤304:在初始坐标数据中去除无效行数据,生成目标坐标数据。
当筛选出初始坐标数据中的无效行数据后,此类数据多为PCB设计软件在导出过程中的无效数据,对其进行去除即可。
可选的,图8所示为本申请另一实施例提供一种坐标文件的解析方法中对初始坐标数据进行检验处理的方法的流程示意图。如图8所示,步骤304进一步可以包括如下步骤:
步骤3041:在初始坐标数据中去除无效行数据,生成初始目标坐标数据。
当筛选出初始坐标数据中的无效行数据后,此类数据多为PCB设计软件在导出过程中的无效数据,对其进行去除即可。
步骤3042:获取列头数据中的数值型列头。
在无效行数据进行去除后,还需要对数值型列头数据以及其所对应的初始坐标数据进行对应转换,以确保后续在数据封装后能被系统识别。其中,数值型列头包括但不限于如下列头数据:pnpCenterX、pnpCenterY、pnpPadX、pnpPadY、pnpRefX、pnpRefY、pnpRotation。
步骤3043:获取数值型列头所对应的数值型数据。
数值型数据即为上述步骤中所包含的数值型列头所对应的初始坐标数据,获取此类数据是对其进行转换的前提。
步骤3044:提取数值型数据中的单位数据和数值数据。
由于在PCB设计软件的导出过程中,数值型数据经常带有单位,需要对数值型数据的单位以及数值进行数据列的分离,以降低后续系统对此类数据识别时出现错误的概率。所以,需要对数值型数据中的表示单位的数据以及表示数值的数据进行分别提取。
步骤3045:将单位数据保存至新增的单位列头对应的列中,将数值数据保存至数值型列头对应的列中,生成目标坐标数据。
单位列头即为“pnpUnit”,当提取出数值型数据中的单位数据后,将单位数据单独保存至新的一列中,并将其列头数据所在字段值设置为“pnpUnit”;而数值数据则保存在原数值型列头所对应的列中,即位置不变,最后所得初始坐标数据即为目标坐标数据。如此,可以使得目标数据封装后,格式统一,便于后续识别,降低了不同格式文件识别的难度,进而降低识别成本,提高生产效率。
下面,参考图9来描述根据本申请实施例的电子设备。图9所示为本申请一实施例提供的电子设备的结构示意图。
如图9所示,电子设备600包括一个或多个处理器601和存储器602。
处理器601可以是中央处理单元(CPU)或者具有数据处理能力和/或信息执行能力的其他形式的处理单元,并且可以控制电子设备600中的其他组件以执行期望的功能。
存储器601可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序信息,处理器601可以运行所述程序信息,以实现上文所述的本申请的各个实施例的坐标文件的解析方法或者其他期望的功能。
在一个示例中,电子设备600还可以包括:输入装置603和输出装置604,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
该输入装置603可以包括例如键盘、鼠标等等。
该输出装置604可以向外部输出各种信息。该输出装置604可以包括例如显示器、通信网络及其所连接的远程输出设备等等。
当然,为了简化,图9中仅示出了该电子设备600中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备600还可以包括任何其他适当的组件。
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序信息,所述计算机程序信息在被处理器运行时使得所述处理器执行本说明书中描述的根据本申请各种实施例的坐标文件的解析方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序信息,所述计算机程序信息在被处理器运行时使得所述处理器执行本说明书根据本申请各种实施例的坐标文件的解析方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此发明的原理和新颖的特征一致的最宽范围。
以上所述仅为本申请创造的较佳实施例而已,并不用以限制本申请创造,凡在本申请创造的精神和原则之内,所作的任何修改、等同替换等,均应包含在本申请创造的保护范围之内。
Claims (10)
1.一种坐标文件的解析方法,其特征在于,包括:
获取初始坐标文件;
对所述初始坐标文件进行解析,获取所述初始坐标文件的列头数据以及电子元件的初始坐标数据;
根据所述列头数据,对所述初始坐标数据进行检验处理,获取目标坐标数据;以及
根据所述列头数据以及所述目标坐标数据,封装成解析坐标数据。
2.根据权利要求1所述的坐标文件的解析方法,其特征在于,所述对所述初始坐标文件进行解析,获取所述初始坐标文件的列头数据以及电子元件的初始坐标数据,包括:
获取所述初始坐标文件的文件格式;以及
根据所述初始坐标文件的文件格式,对所述初始坐标文件进行解析,获取所述列头数据以及所述初始坐标数据。
3.根据权利要求2所述的坐标文件的解析方法,其特征在于,所述根据所述初始坐标文件的文件格式,对所述初始坐标文件进行解析,获取所述列头数据以及所述初始坐标数据,当所述初始坐标文件的文件格式为PNP文件时,包括:
获取所述PNP文件的文件分隔符;
根据所述PNP文件的文件分隔符,对所述PNP文件进行数据行的识别,获取多个行数据;
获取所述PNP文件的第一预设行的行数据作为列头数据;以及
获取所述PNP文件的第二预设行的行数据作为初始坐标数据。
4.根据权利要求2所述的坐标文件的解析方法,其特征在于,所述根据所述初始坐标文件的文件格式,对所述初始坐标文件进行解析,获取所述列头数据以及所述初始坐标数据,当所述初始坐标文件的文件格式为无列头文件时,包括:
获取所述无列头文件的文件分隔符;
根据所述无列头文件的文件分隔符,对所述无列头文件进行数据行的识别,获取多个所述行数据;
以预设标准列头数据作为所述无列头文件的列头数据;以及
获取所述无列头文件的第三预设行的行数据并对所述第三预设行的行数据进行切分,获取切分后的数据作为所述无列头文件的初始坐标数据。
5.根据权利要求4所述的坐标文件的解析方法,其特征在于,在所述获取所述无列头文件的第三预设行的行数据并对所述第三预设行的行数据进行切分,获取切分数据作为所述无列头文件的初始坐标数据之后,还包括:
当所述切分数据的列数大于所述预设标准列头数据的数量时,将多余数据合并成一个字段值,并以空格连接。
6.根据权利要求2所述的坐标文件的解析方法,其特征在于,所述根据所述初始坐标文件的文件格式,对所述初始坐标文件进行解析,获取所述列头数据以及所述初始坐标数据,当所述初始坐标文件的文件格式为文本文件时,包括:
获取所述文本文件的文件分隔符;
根据所述文本文件的文件分隔符,对所述文本文件进行切分,获取初始文本数据;
根据所述列头对照数据库,遍历预设行数范围内的所有所述初始文本数据,获取列头命中数据;
根据所述列头命中数据,获取所述列头命中数据最多的行作为列头数据;以及
获取所述列头数据以下的行数据作为初始坐标数据。
7.根据权利要求2所述的坐标文件的解析方法,其特征在于,所述根据所述初始坐标文件的文件格式,对所述初始坐标文件进行解析,获取所述列头数据以及所述初始坐标数据,当所述初始坐标文件的文件格式为Excel文件时,包括:
获取所述Excel文件的一个或多个工作表;
遍历每个所述工作表,获取每个所述工作表的行数据;
根据所述列头对照数据库中包括的标准列头数据,在多个所述行数据中查找与所述标准列头数据相匹配的所述行数据作为所述工作表的列头数据;
获取所述列头数据所在行的以下行数据,将所述以下行数据作为所述初始坐标数据。
8.根据权利要求1所述的坐标文件的解析方法,其特征在于,所述根据所述列头数据,对所述初始坐标数据进行检验处理,获取目标坐标数据,包括:
获取所述列头数据的数量;
获取所述初始坐标数据中每个行数据的列数;
根据所述列头数据的数量以及所述初始坐标数据中每个行数据的列数,获取所述初始坐标数据中的行数据的列数与所述列头数据的数量不相等的无效行数据;
在所述初始坐标数据中去除所述无效行数据,生成目标坐标数据。
9.根据权利要求8所述的坐标文件的解析方法,其特征在于,所述在所述初始坐标数据中去除所述无效行数据,生成目标坐标数据,包括:
在所述初始坐标数据中去除所述无效行数据,生成初始目标坐标数据;
获取所述列头数据中的数值型列头;
获取所述数值型列头所对应的数值型数据;
提取所述数值型数据中的单位数据以及数值数据;
将所述单位数据保存至新增的单位列头对应的列中,将所述数值数据保存至所述数值型列头对应的列中,生成目标坐标数据。
10.一种电子设备,其特征在于,所述电子设备包括:
处理器;以及
用于存储所述处理器可执行信息的存储器;
其中,所述处理器用于执行上述权利要求1-9任一项所述的坐标文件的解析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110938490.XA CN113626389A (zh) | 2021-08-16 | 2021-08-16 | 一种坐标文件的解析方法以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110938490.XA CN113626389A (zh) | 2021-08-16 | 2021-08-16 | 一种坐标文件的解析方法以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113626389A true CN113626389A (zh) | 2021-11-09 |
Family
ID=78385887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110938490.XA Pending CN113626389A (zh) | 2021-08-16 | 2021-08-16 | 一种坐标文件的解析方法以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113626389A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040093336A1 (en) * | 2002-05-06 | 2004-05-13 | Jinsong Hu | Computer program method and apparatus to recognize and normalize data pattern based information |
CN105302626A (zh) * | 2015-11-09 | 2016-02-03 | 深圳市依伴数字科技有限公司 | Xps结构化数据的解析方法 |
CN106407407A (zh) * | 2016-09-22 | 2017-02-15 | 江苏通付盾科技有限公司 | 一种文件标注系统及方法 |
CN109740130A (zh) * | 2018-11-22 | 2019-05-10 | 厦门市美亚柏科信息股份有限公司 | 用于生成文件的方法和装置 |
CN110516124A (zh) * | 2019-08-09 | 2019-11-29 | 济南浪潮数据技术有限公司 | 一种文件解析方法、装置和计算机可读存储介质 |
CN111223005A (zh) * | 2019-11-14 | 2020-06-02 | 中国南方电网有限责任公司超高压输电公司贵阳局 | 基于gis技术的输电线路杆塔坐标可视化处理系统及方法 |
CN111290997A (zh) * | 2020-01-17 | 2020-06-16 | 北京轩宇信息技术有限公司 | 一种brd文件数据自动解析方法及装置 |
CN112395251A (zh) * | 2020-12-21 | 2021-02-23 | 深圳赛安特技术服务有限公司 | 数据文件的智能解析方法、装置、电子设备及存储介质 |
CN113037787A (zh) * | 2019-12-09 | 2021-06-25 | 北京沃东天骏信息技术有限公司 | 一种数据处理方法和装置 |
-
2021
- 2021-08-16 CN CN202110938490.XA patent/CN113626389A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040093336A1 (en) * | 2002-05-06 | 2004-05-13 | Jinsong Hu | Computer program method and apparatus to recognize and normalize data pattern based information |
CN105302626A (zh) * | 2015-11-09 | 2016-02-03 | 深圳市依伴数字科技有限公司 | Xps结构化数据的解析方法 |
CN106407407A (zh) * | 2016-09-22 | 2017-02-15 | 江苏通付盾科技有限公司 | 一种文件标注系统及方法 |
CN109740130A (zh) * | 2018-11-22 | 2019-05-10 | 厦门市美亚柏科信息股份有限公司 | 用于生成文件的方法和装置 |
CN110516124A (zh) * | 2019-08-09 | 2019-11-29 | 济南浪潮数据技术有限公司 | 一种文件解析方法、装置和计算机可读存储介质 |
CN111223005A (zh) * | 2019-11-14 | 2020-06-02 | 中国南方电网有限责任公司超高压输电公司贵阳局 | 基于gis技术的输电线路杆塔坐标可视化处理系统及方法 |
CN113037787A (zh) * | 2019-12-09 | 2021-06-25 | 北京沃东天骏信息技术有限公司 | 一种数据处理方法和装置 |
CN111290997A (zh) * | 2020-01-17 | 2020-06-16 | 北京轩宇信息技术有限公司 | 一种brd文件数据自动解析方法及装置 |
CN112395251A (zh) * | 2020-12-21 | 2021-02-23 | 深圳赛安特技术服务有限公司 | 数据文件的智能解析方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4993319B2 (ja) | ソフトウェアの国際化の検証を支援する装置及び方法 | |
CN110795482B (zh) | 数据对标方法、装置、及存储装置 | |
CN113627168B (zh) | 一种元器件封装冲突的检查方法、装置、介质及设备 | |
CN106325596A (zh) | 一种书写笔迹自动纠错方法及系统 | |
US8874426B2 (en) | Method for translating computer generated log files | |
CN103038762A (zh) | 自然语言处理装置、方法、以及程序 | |
CN112269713A (zh) | 一种程序运行状态的获取方法、装置、设备及存储介质 | |
CN115391322A (zh) | 数据检核方法、装置、设备、存储介质及程序产品 | |
JP6432266B2 (ja) | グループ化方法、グループ化装置、およびグループ化プログラム | |
EP3882805A1 (en) | Information processing apparatus, information processing method, and program | |
CN110688842B (zh) | 一种文档标题层级的分析方法、装置及服务器 | |
CN113626389A (zh) | 一种坐标文件的解析方法以及电子设备 | |
US20180067916A1 (en) | Analysis apparatus, analysis method, and recording medium | |
CN112699634B (zh) | 电子书的排版处理方法、电子设备及存储介质 | |
CN109189372B (zh) | 保险产品的开发脚本生成方法及终端设备 | |
CN113627893B (zh) | 一种bom文件的解析识别方法以及电子设备 | |
CN113627892A (zh) | 一种bom数据的识别方法及其电子设备 | |
CN115761778A (zh) | 一种文献重构方法、装置、设备和存储介质 | |
CN115544975A (zh) | 一种日志格式转换方法及设备 | |
TWI777163B (zh) | 表單數據檢測方法、電腦裝置及儲存介質 | |
CN114220113A (zh) | 一种论文质量检测方法、装置和设备 | |
CN113627852A (zh) | 物料清单的生成方法及系统、存储介质及其电子设备 | |
JP5712415B2 (ja) | 帳票処理システム及び帳票処理方法 | |
CN111401009A (zh) | 一种数字表情符识别转换方法、装置、服务器及存储介质 | |
US20180101725A1 (en) | Document extraction system and method |
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 |