本技術(shù)涉及電氣工程領(lǐng)域,具體而言,涉及一種無表格線文件的表格提取方法、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和電子設(shè)備。
背景技術(shù):
::1、隨著電網(wǎng)工程的快速發(fā)展,預(yù)算定額文件中包含大量的表格數(shù)據(jù),這些數(shù)據(jù)對(duì)于項(xiàng)目管理和成本控制至關(guān)重要。然而,由于許多預(yù)算定額表格沒有表格線,傳統(tǒng)的格式轉(zhuǎn)換方法往往會(huì)導(dǎo)致單元格錯(cuò)位和內(nèi)容識(shí)別錯(cuò)誤,嚴(yán)重影響數(shù)據(jù)的準(zhǔn)確性和可用性。這些問題不僅增加了人工校對(duì)的工作量,還可能導(dǎo)致工程預(yù)算和管理決策的偏差。2、而針對(duì)以上問題,現(xiàn)有方案是采用圖像處理的方法進(jìn)行解決,圖像處理方法通過邊緣檢測(cè)和連通域分析等技術(shù)提取表格的行列信息,適用于無表格線的表格,但對(duì)復(fù)雜背景和噪聲較多的文件效果不佳。技術(shù)實(shí)現(xiàn)思路1、本技術(shù)的主要目的在于提供一種無表格線文件的表格提取方法、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和電子設(shè)備,以至少解決傳統(tǒng)的格式轉(zhuǎn)換方法常常導(dǎo)致單元格錯(cuò)位和內(nèi)容識(shí)別錯(cuò)誤,嚴(yán)重影響數(shù)據(jù)的準(zhǔn)確性和實(shí)用性的問題。2、為了實(shí)現(xiàn)上述目的,根據(jù)本技術(shù)的一個(gè)方面,提供了一種無表格線文件的表格提取方法,包括:對(duì)電網(wǎng)工程預(yù)算定額pdf文件進(jìn)行去除水印處理,得到第一處理文件;檢索所述第一處理文件中包含表格的頁面為目標(biāo)頁面,并將所有的所述目標(biāo)頁面匯總并轉(zhuǎn)換為word文件,得到第二處理文件;將所述第二處理文件中所有表格的內(nèi)容替換為包含相同文本的文本框,得到第三處理文件;對(duì)所述第三處理文件進(jìn)行解析,至少得到所述第三處理文件中各文本框的位置信息,并根據(jù)各所述文本框的位置信息采用閾值法對(duì)各所述文本框進(jìn)行分組和排序,得到多個(gè)文本框組;將各所述文本框按照組別順序填入excel的單元格中,生成excel文件。3、可選地,對(duì)電網(wǎng)工程預(yù)算定額pdf文件進(jìn)行去除水印處理,得到第一處理文件,包括:使用python中的pymupdf將所述電網(wǎng)工程預(yù)算定額pdf文件中的頁面轉(zhuǎn)換為png格式,得到圖像文件;使用opencv和numpy進(jìn)行傅里葉變換,將所述圖像文件轉(zhuǎn)換到頻域,得到初始頻域圖像;在頻域中識(shí)別并過濾掉所述初始頻域圖像中對(duì)應(yīng)于水印的特定頻率成分,得到處理后頻域圖像;將所述處理后頻域圖像進(jìn)行逆傅里葉變換,得到去除水印圖像,并將所述去除水印圖像保存為pdf文件,得到所述第一處理文件。4、可選地,檢索所述第一處理文件中包含表格的頁面為目標(biāo)頁面,并將所有的所述目標(biāo)頁面匯總并轉(zhuǎn)換為word文件,得到第二處理文件,包括:使用pdfplumber函數(shù)庫的enumerate遍歷所述第一處理文件中的每一頁,同時(shí)獲取頁碼和頁面對(duì)象;使用et方法調(diào)用page.extract_tables()函數(shù),從當(dāng)前頁面中提取表格,并將所述表格存儲(chǔ)在tables列表中,所述tables列表與頁面一一對(duì)應(yīng);在所述tables列表存在且長(zhǎng)度大于0的情況下,確定與所述tables列表對(duì)應(yīng)的所述頁面中包含表格,并將含有表格的頁面確定為目標(biāo)頁面;對(duì)所有的所述目標(biāo)頁面進(jìn)行匯總并使用格式轉(zhuǎn)換器將所述第一處理文件轉(zhuǎn)換為word文件為所述第二處理文件。5、可選地,將所述第二處理文件中所有表格的內(nèi)容替換為包含相同文本的文本框,得到第三處理文件,包括:檢索所述第二處理文件中的單元格的內(nèi)容;在所述單元格的內(nèi)容不存在表格線的情況下,采用換行符對(duì)所述單元格的內(nèi)容進(jìn)行分割,得到分割后的文本,并將每個(gè)分割后的所述文本作為文本框內(nèi)容;創(chuàng)建文本框形狀,并設(shè)置文本框樣式,以得到文本框,所述文本框樣式包括所述文本框的位置所述文本框的大小信息;將所述文本框添加至所述單元格中,得到圖文混排的word文件為所述第三處理文件。6、可選地,創(chuàng)建文本框形狀,并設(shè)置文本框樣式,以得到文本框,包括:創(chuàng)建結(jié)構(gòu)化文檔標(biāo)簽元素和sdtcontent元素,并將所述sdtcontent元素添加到所述結(jié)構(gòu)化文檔標(biāo)簽元素中,得到目標(biāo)sdt元素,其中,所述結(jié)構(gòu)化文檔標(biāo)簽元素用于表示一個(gè)文本框;所述sdtcontent元素作為所述文本框的內(nèi)容容器;創(chuàng)建段落元素、段落屬性元素、文本運(yùn)行元素和文本元素,其中,所述段落元素用于表征所述文本框的段落、所述段落屬性元素用于定義所述段落的屬性,所述文本運(yùn)行元素用于表征所述段落中的一段文本,所述文本元素用于將文本內(nèi)容設(shè)置為傳入的文本參數(shù),將所述段落屬性元素添加至所述段落元素中,得到段落處理元素,將所述文本元素添加至所述文本運(yùn)行元素中,得到第一處理元素,再將所述第一處理元素添加至所述段落處理元素中,得到第二處理元素,最后將所述第二處理元素添加到所述sdtcontent元素中,得到目標(biāo)sdtcontent元素;創(chuàng)建sdtpr元素、w:sz元素和w:rpr元素,所述sdtpr元素用于設(shè)置所述文本框的屬性,所述w:sz元素用于設(shè)置所述文本框中文本的字體大小,所述w:rpr元素用于表征所述文本框中文本的運(yùn)行屬性;根據(jù)所述目標(biāo)sdt元素、所述目標(biāo)sdtcontent元素、所述sdtpr元素、所述w:sz元素和所述w:rpr元素,得到目標(biāo)文本框,并將所述目標(biāo)文本框添加到單元格,將所述目標(biāo)sdt元素添加到單元格的xml結(jié)構(gòu)中。7、可選地,對(duì)所述第三處理文件進(jìn)行解析,至少得到所述第三處理文件中各文本框的位置信息,包括:使用xpath函數(shù)查詢文本框中的內(nèi)容,并使用etree函數(shù)庫解析所述第三處理文件中的xml內(nèi)容;以文本框的左上角作為基點(diǎn),查詢xml節(jié)點(diǎn)中的<wp:positionh>和<wp:positionv>,得到文本框的初始水平信息和初始垂直信息;將所述初始水平信息和所述初始垂直信息進(jìn)行單位換算,得到單位為厘米的所述文本框的水平位置信息和垂直位置信息。8、可選地,根據(jù)各所述文本框的位置信息采用閾值法對(duì)各所述文本框進(jìn)行分組和排序,得到多個(gè)文本框組,包括:確定第一目標(biāo)差值,所述第一目標(biāo)差值為第i個(gè)文本框的橫坐標(biāo)與第j個(gè)文本框的橫坐標(biāo)的差值的絕對(duì)值,所述第i個(gè)文本框?yàn)楫?dāng)前檢索的文本框,所述第j個(gè)文本框?yàn)橐呀?jīng)檢索并分組過的文本框;在所述第一目標(biāo)差值小于或者等于閾值的情況下,將所述第i個(gè)文本框加入所述第j個(gè)文本框的所屬組別,在所述第一目標(biāo)差值大于所述閾值的情況下,基于所述第i個(gè)文本框建立新的組別,得到多個(gè)行分組;將各所述行分組中最小的行坐標(biāo)作為本組的代表坐標(biāo)進(jìn)行各所述行分組之間的冒泡排序;確定第二目標(biāo)差值,所述第二目標(biāo)差值為第i個(gè)文本框的縱坐標(biāo)與第j個(gè)文本框的縱坐標(biāo)的差值的絕對(duì)值,所述第i個(gè)文本框?yàn)楫?dāng)前檢索的文本框,所述第j個(gè)文本框?yàn)橐呀?jīng)檢索并分組過的文本框;在所述第二目標(biāo)差值小于或者等于閾值的情況下,將所述第i個(gè)文本框加入所述第j個(gè)文本框的所屬組別,在所述第二目標(biāo)差值大于所述閾值的情況下,基于所述第i個(gè)文本框建立新的組別,得到多個(gè)列分組;將各所述列分組中最小的縱坐標(biāo)作為本組的代表坐標(biāo)進(jìn)行各所述列分組之間的冒泡排序。9、可選地,將各所述文本框按照組別順序填入excel的單元格中,生成excel文件,包括:獲取各所述文本框的行組別編號(hào)和列組別編號(hào),其中,所述文本框的行組別編號(hào)對(duì)應(yīng)所述excel文件中的列號(hào),所述文本框的列組別編號(hào)對(duì)應(yīng)所述excel文件中的行號(hào);根據(jù)各所述文本框的行組別編號(hào)和列組別編號(hào)將各所述文本框按照組別順序填入excel的單元格中,生成所述excel文件。10、根據(jù)本技術(shù)的另一方面,提供了無表格線文件的表格提取裝置,包括:第一處理單元,用于對(duì)電網(wǎng)工程預(yù)算定額pdf文件進(jìn)行去除水印處理,得到第一處理文件;第二處理單元,用于檢索所述第一處理文件中包含表格的頁面為目標(biāo)頁面,并將所有的所述目標(biāo)頁面匯總并轉(zhuǎn)換為word文件,得到第二處理文件;第三處理單元,用于將所述第二處理文件中所有表格的內(nèi)容替換為包含相同文本的文本框,得到第三處理文件;第四處理單元,用于對(duì)所述第三處理文件進(jìn)行解析,至少得到所述第三處理文件中各文本框的位置信息,并根據(jù)各所述文本框的位置信息采用閾值法對(duì)各所述文本框進(jìn)行分組和排序,得到多個(gè)文本框組;第五處理單元,用于將各所述文本框按照組別順序填入excel的單元格中,生成excel文件。11、根據(jù)本技術(shù)的另一方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括存儲(chǔ)的程序,其中,在所述程序運(yùn)行時(shí)控制所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)所在設(shè)備執(zhí)行任意一種所述的無表格線文件的表格提取方法。12、根據(jù)本技術(shù)的另一方面,提供了一種電子設(shè)備,包括:一個(gè)或多個(gè)處理器,存儲(chǔ)器,以及一個(gè)或多個(gè)程序,其中,所述一個(gè)或多個(gè)程序被存儲(chǔ)在所述存儲(chǔ)器中,并且被配置為由所述一個(gè)或多個(gè)處理器執(zhí)行,上述一個(gè)或多個(gè)程序包括用于執(zhí)行任意一種上述的無表格線文件的表格提取方法。13、應(yīng)用本技術(shù)的技術(shù)方案,上述無表格線文件的表格提取方法,首先對(duì)電網(wǎng)工程預(yù)算定額pdf文件進(jìn)行去除水印處理,得到第一處理文件;之后檢索第一處理文件中包含表格的頁面為目標(biāo)頁面,并將所有的目標(biāo)頁面匯總并轉(zhuǎn)換為word文件,得到第二處理文件;然后將第二處理文件中所有表格的內(nèi)容替換為包含相同文本的文本框,得到第三處理文件;對(duì)第三處理文件進(jìn)行解析,至少得到第三處理文件中各文本框的位置信息,并根據(jù)各文本框的位置信息采用閾值法對(duì)各文本框進(jìn)行分組和排序,得到多個(gè)文本框組;最后將各文本框按照組別順序填入excel的單元格中,生成excel文件。該方法可以解決傳統(tǒng)的格式轉(zhuǎn)換方法常常導(dǎo)致單元格錯(cuò)位和內(nèi)容識(shí)別錯(cuò)誤,嚴(yán)重影響數(shù)據(jù)的準(zhǔn)確性和實(shí)用性的問題,實(shí)現(xiàn)了電網(wǎng)工程預(yù)算定額pdf文件中無表格線表格的有效提取,克服了直接進(jìn)行格式轉(zhuǎn)換時(shí)的單元格錯(cuò)位和內(nèi)容識(shí)別錯(cuò)誤等難題,確保了數(shù)據(jù)的準(zhǔn)確性和完整性,為后續(xù)電網(wǎng)工程預(yù)算定額表格數(shù)據(jù)的使用提供了可靠的保障。當(dāng)前第1頁12當(dāng)前第1頁12