The invention is applicable to the technical field of data analysis, and provides a device for document analytic method, the analyzing method comprises the following steps: pre configured in different field analytical condition to read the file parsing strategy execution corresponding to the preset special characters; read the file to be analyzed in the data acquisition, analysis of the current state of the field; from the the pre configured different field analytical condition to read the corresponding file parsing strategy execution to find file parsing strategies match field analytical state of the current default after using special characters; and the file parsing strategy when the field analytical state before matching the implementation of the corresponding process file parsing. The invention can parse files quickly, guarantee the efficiency of parsing, and has high fault tolerance and can handle nonstandard data.
【技术实现步骤摘要】
文件解析方法及装置
本专利技术属于数据解析
,尤其涉及文件解析方法及装置。
技术介绍
现今,不同文本的格式规范各不相同,常见的CSV解析方法严重依赖与CSV文件的格式规范,即只能处理常规CSV文件,当CSV文件稍有不规范的地方,就会导致整个文件解析失败,容错性低,而为了提高容错性,会对一行数据进行多次扫描分析,降低解析效率。因此,现有技术中存在着解析文件时无法处理不规范数据,容错性低,且解析效率低的问题。
技术实现思路
本专利技术实施例提供一种文件解析方法及装置,旨在解决现有技术中解析文件时无法处理不规范数据,容错性低,且解析效率低的问题。第一方面,本专利技术实施例提供了一种文件解析方法,所述解析方法包括:预先配置不同字段解析状态下读取到预设特殊字符后所对应执行的文件解析策略;读取待解析文件中的数据,获取当前的字段解析状态;从所述预先配置不同字段解析状态下读取到预设特殊字符后所对应执行的文件解析策略中查找出与所述当前的字段解析状态相匹配的文件解析策略;利用与所述当前的字段解析状态相匹配的文件解析策略执行相应的文件解析处理流程。第二方面,本专利技术实施例提供了一种 ...
【技术保护点】
一种文件解析方法,其特征在于,所述解析方法包括:预先配置不同字段解析状态下读取到预设特殊字符后所对应执行的文件解析策略;读取待解析文件中的数据,获取当前的字段解析状态;从所述预先配置不同字段解析状态下读取到预设特殊字符后所对应执行的文件解析策略中查找出与所述当前的字段解析状态相匹配的文件解析策略;利用与所述当前的字段解析状态相匹配的文件解析策略执行相应的文件解析处理流程。
【技术特征摘要】
1.一种文件解析方法,其特征在于,所述解析方法包括:预先配置不同字段解析状态下读取到预设特殊字符后所对应执行的文件解析策略;读取待解析文件中的数据,获取当前的字段解析状态;从所述预先配置不同字段解析状态下读取到预设特殊字符后所对应执行的文件解析策略中查找出与所述当前的字段解析状态相匹配的文件解析策略;利用与所述当前的字段解析状态相匹配的文件解析策略执行相应的文件解析处理流程。2.如权利要求1所述的解析方法,其特征在于,所述利用与所述当前的字段解析状态相匹配的文件解析策略执行相应的文件解析处理流程包括:当所述当前的字段解析状态为行结束状态时,读取下一个字符,若所述下一个字符为字段包括符,则所述当前的字段解析状态由所述行结束状态转变成字段开始状态;当所述当前的字段解析状态为所述字段开始状态时,若接下来读取到的字符不是所述字段包括符,则所述当前的字段解析状态由所述字段开始状态转变成字段匹配状态;当所述当前的字段解析状态为所述字段匹配状态时,根据与所述字段匹配状态相匹配的文件解析策略读取所述待解析文件中的数据,若读取到当前字符为所述字段包括符,则所述当前的字段解析状态由所述字段匹配状态转变成字段结束状态;当所述当前的字段解析状态为所述字段结束状态时,读取下一个字符,若所述下一个字符不是字段分隔符或行结束符,则对所述当前字符之后的字符进行容错处理。3.如权利要求2所述的解析方法,其特征在于,所述当所述当前的字段解析状态为所述字段结束状态时,读取下一个字符,若所述下一个字符不是字段分隔符或行结束符,则对所述当前字符之后的字符进行容错处理包括:当所述当前的字段解析状态为所述字段结束状态时,读取所述下一个字符,若所述下一个字符为所述字段包括符,检测所述待解析文件中是否有出错标签;若有所述出错标签,则关闭容错标记功能,结束容错处理;若没有所述出错标签,则打开所述容错标记功能,在文件解析出错的地方设置出错标签,且所述当前的字段解析状态由所述字段结束状态转变成所述字段匹配状态。4.如权利要求2所述的解析方法,其特征在于,所述当所述当前的字段解析状态为所述字段结束状态时,读取下一个字符,若所述下一个字符不是字段分隔符或行结束符,则对所述当前字符之后的字符进行容错处理还包括:当所述当前的字段解析状态为所述字段结束状态时,读取所述下一个字符,若所述下一个字符为转义字符或普通字符,则检测所述待解析文件中是否有出错标签;若有所述出错标签,则延长所述出错标签的标志范围;若没有所述出错标签,则打开容错标记功能,在文件解析出错的地方设置所述出错标签,且所述当前的字段解析状态由所述字段结束状态转变成所述字段匹配状态。5.如权利要求2所述的解析方法,其特征在于,所述解析方法还包括:当所述当前的字段解析状态为所述字段结束状态时,若所述下一个字符为所述字段分隔符或所述行结束符,检测所述待解析文件中是否有出错标签;若没有所述出错标签,则所述当前的字段解析状态由所述字段结束状态转变成所述字段分割状态或所述行结束状态;若有所述出错标签,则检测容错标记功能是否打开;若打开,则延长所述出错标签的标志范围;若没有打开,则所述当前的字段解析状态由所述字段结束状态转变...
【专利技术属性】
技术研发人员:陈晓攀,熊志强,胡伟,梁嘉,
申请(专利权)人:深圳市汉云科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。