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.
【技術(shù)實(shí)現(xiàn)步驟摘要】
文件解析方法及裝置
本專利技術(shù)屬于數(shù)據(jù)解析
,尤其涉及文件解析方法及裝置。
技術(shù)介紹
現(xiàn)今,不同文本的格式規(guī)范各不相同,常見的CSV解析方法嚴(yán)重依賴與CSV文件的格式規(guī)范,即只能處理常規(guī)CSV文件,當(dāng)CSV文件稍有不規(guī)范的地方,就會(huì)導(dǎo)致整個(gè)文件解析失敗,容錯(cuò)性低,而為了提高容錯(cuò)性,會(huì)對(duì)一行數(shù)據(jù)進(jìn)行多次掃描分析,降低解析效率。因此,現(xiàn)有技術(shù)中存在著解析文件時(shí)無法處理不規(guī)范數(shù)據(jù),容錯(cuò)性低,且解析效率低的問題。
技術(shù)實(shí)現(xiàn)思路
本專利技術(shù)實(shí)施例提供一種文件解析方法及裝置,旨在解決現(xiàn)有技術(shù)中解析文件時(shí)無法處理不規(guī)范數(shù)據(jù),容錯(cuò)性低,且解析效率低的問題。第一方面,本專利技術(shù)實(shí)施例提供了一種文件解析方法,所述解析方法包括:預(yù)先配置不同字段解析狀態(tài)下讀取到預(yù)設(shè)特殊字符后所對(duì)應(yīng)執(zhí)行的文件解析策略;讀取待解析文件中的數(shù)據(jù),獲取當(dāng)前的字段解析狀態(tài);從所述預(yù)先配置不同字段解析狀態(tài)下讀取到預(yù)設(shè)特殊字符后所對(duì)應(yīng)執(zhí)行的文件解析策略中查找出與所述當(dāng)前的字段解析狀態(tài)相匹配的文件解析策略;利用與所述當(dāng)前的字段解析狀態(tài)相匹配的文件解析策略執(zhí)行相應(yīng)的文件解析處理流程。第二方面,本專利技術(shù)實(shí)施例提供了一種文件解析裝置,所述解析裝置包括:配置模塊,用于預(yù)先配置不同字段解析狀態(tài)下讀取到預(yù)設(shè)特殊字符后所對(duì)應(yīng)執(zhí)行的文件解析策略;獲取模塊,用于讀取待解析文件中的數(shù)據(jù),獲取當(dāng)前的字段解析狀態(tài);查找模塊,用于從所述預(yù)先配置不同字段解析狀態(tài)下讀取到預(yù)設(shè)特殊字符后所對(duì)應(yīng)執(zhí)行的文件解析策略中查找出與所述當(dāng)前的字段解析狀態(tài)相匹配的文件解析策略;執(zhí)行模塊,用于利用與所述當(dāng)前的字段解析狀態(tài)相匹配的文件解析策略執(zhí)行相應(yīng)的文件 ...
【技術(shù)保護(hù)點(diǎn)】
一種文件解析方法,其特征在于,所述解析方法包括:預(yù)先配置不同字段解析狀態(tài)下讀取到預(yù)設(shè)特殊字符后所對(duì)應(yīng)執(zhí)行的文件解析策略;讀取待解析文件中的數(shù)據(jù),獲取當(dāng)前的字段解析狀態(tài);從所述預(yù)先配置不同字段解析狀態(tài)下讀取到預(yù)設(shè)特殊字符后所對(duì)應(yīng)執(zhí)行的文件解析策略中查找出與所述當(dāng)前的字段解析狀態(tài)相匹配的文件解析策略;利用與所述當(dāng)前的字段解析狀態(tài)相匹配的文件解析策略執(zhí)行相應(yīng)的文件解析處理流程。
【技術(shù)特征摘要】
1.一種文件解析方法,其特征在于,所述解析方法包括:預(yù)先配置不同字段解析狀態(tài)下讀取到預(yù)設(shè)特殊字符后所對(duì)應(yīng)執(zhí)行的文件解析策略;讀取待解析文件中的數(shù)據(jù),獲取當(dāng)前的字段解析狀態(tài);從所述預(yù)先配置不同字段解析狀態(tài)下讀取到預(yù)設(shè)特殊字符后所對(duì)應(yīng)執(zhí)行的文件解析策略中查找出與所述當(dāng)前的字段解析狀態(tài)相匹配的文件解析策略;利用與所述當(dāng)前的字段解析狀態(tài)相匹配的文件解析策略執(zhí)行相應(yīng)的文件解析處理流程。2.如權(quán)利要求1所述的解析方法,其特征在于,所述利用與所述當(dāng)前的字段解析狀態(tài)相匹配的文件解析策略執(zhí)行相應(yīng)的文件解析處理流程包括:當(dāng)所述當(dāng)前的字段解析狀態(tài)為行結(jié)束狀態(tài)時(shí),讀取下一個(gè)字符,若所述下一個(gè)字符為字段包括符,則所述當(dāng)前的字段解析狀態(tài)由所述行結(jié)束狀態(tài)轉(zhuǎn)變成字段開始狀態(tài);當(dāng)所述當(dāng)前的字段解析狀態(tài)為所述字段開始狀態(tài)時(shí),若接下來讀取到的字符不是所述字段包括符,則所述當(dāng)前的字段解析狀態(tài)由所述字段開始狀態(tài)轉(zhuǎn)變成字段匹配狀態(tài);當(dāng)所述當(dāng)前的字段解析狀態(tài)為所述字段匹配狀態(tài)時(shí),根據(jù)與所述字段匹配狀態(tài)相匹配的文件解析策略讀取所述待解析文件中的數(shù)據(jù),若讀取到當(dāng)前字符為所述字段包括符,則所述當(dāng)前的字段解析狀態(tài)由所述字段匹配狀態(tài)轉(zhuǎn)變成字段結(jié)束狀態(tài);當(dāng)所述當(dāng)前的字段解析狀態(tài)為所述字段結(jié)束狀態(tài)時(shí),讀取下一個(gè)字符,若所述下一個(gè)字符不是字段分隔符或行結(jié)束符,則對(duì)所述當(dāng)前字符之后的字符進(jìn)行容錯(cuò)處理。3.如權(quán)利要求2所述的解析方法,其特征在于,所述當(dāng)所述當(dāng)前的字段解析狀態(tài)為所述字段結(jié)束狀態(tài)時(shí),讀取下一個(gè)字符,若所述下一個(gè)字符不是字段分隔符或行結(jié)束符,則對(duì)所述當(dāng)前字符之后的字符進(jìn)行容錯(cuò)處理包括:當(dāng)所述當(dāng)前的字段解析狀態(tài)為所述字段結(jié)束狀態(tài)時(shí),讀取所述下一個(gè)字符,若所述下一個(gè)字符為所述字段包括符,檢測(cè)所述待解析文件中是否有出錯(cuò)標(biāo)簽;若有所述出錯(cuò)標(biāo)簽,則關(guān)閉容錯(cuò)標(biāo)記功能,結(jié)束容錯(cuò)處理;若沒有所述出錯(cuò)標(biāo)簽,則打開所述容錯(cuò)標(biāo)記功能,在文件解析出錯(cuò)的地方設(shè)置出錯(cuò)標(biāo)簽,且所述當(dāng)前的字段解析狀態(tài)由所述字段結(jié)束狀態(tài)轉(zhuǎn)變成所述字段匹配狀態(tài)。4.如權(quán)利要求2所述的解析方法,其特征在于,所述當(dāng)所述當(dāng)前的字段解析狀態(tài)為所述字段結(jié)束狀態(tài)時(shí),讀取下一個(gè)字符,若所述下一個(gè)字符不是字段分隔符或行結(jié)束符,則對(duì)所述當(dāng)前字符之后的字符進(jìn)行容錯(cuò)處理還包括:當(dāng)所述當(dāng)前的字段解析狀態(tài)為所述字段結(jié)束狀態(tài)時(shí),讀取所述下一個(gè)字符,若所述下一個(gè)字符為轉(zhuǎn)義字符或普通字符,則檢測(cè)所述待解析文件中是否有出錯(cuò)標(biāo)簽;若有所述出錯(cuò)標(biāo)簽,則延長(zhǎng)所述出錯(cuò)標(biāo)簽的標(biāo)志范圍;若沒有所述出錯(cuò)標(biāo)簽,則打開容錯(cuò)標(biāo)記功能,在文件解析出錯(cuò)的地方設(shè)置所述出錯(cuò)標(biāo)簽,且所述當(dāng)前的字段解析狀態(tài)由所述字段結(jié)束狀態(tài)轉(zhuǎn)變成所述字段匹配狀態(tài)。5.如權(quán)利要求2所述的解析方法,其特征在于,所述解析方法還包括:當(dāng)所述當(dāng)前的字段解析狀態(tài)為所述字段結(jié)束狀態(tài)時(shí),若所述下一個(gè)字符為所述字段分隔符或所述行結(jié)束符,檢測(cè)所述待解析文件中是否有出錯(cuò)標(biāo)簽;若沒有所述出錯(cuò)標(biāo)簽,則所述當(dāng)前的字段解析狀態(tài)由所述字段結(jié)束狀態(tài)轉(zhuǎn)變成所述字段分割狀態(tài)或所述行結(jié)束狀態(tài);若有所述出錯(cuò)標(biāo)簽,則檢測(cè)容錯(cuò)標(biāo)記功能是否打開;若打開,則延長(zhǎng)所述出錯(cuò)標(biāo)簽的標(biāo)志范圍;若沒有打開,則所述當(dāng)前的字段解析狀態(tài)由所述字段結(jié)束狀態(tài)轉(zhuǎn)變...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:陳曉攀,熊志強(qiáng),胡偉,梁嘉,
申請(qǐng)(專利權(quán))人:深圳市漢云科技有限公司,
類型:發(fā)明
國(guó)別省市:廣東,44
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。