在做大數(shù)據(jù)的時候,首先第一步就是要解決數(shù)據(jù)的來源,我們采用的設計方案就是使用Python來從一些政府網站爬數(shù)據(jù),將披露的銀行、證券、股票、信托等行業(yè)中三大報表(利潤表、資產負債表、現(xiàn)金流量表)數(shù)據(jù)解析并錄入數(shù)據(jù)庫,我們采用java編程來實現(xiàn)三大報表數(shù)據(jù)解析。
程序設計采用java面向對象設計的概念,利用java繼承、封裝、多態(tài)的特性來設計,可以減去程序更改的麻煩,以前寫的類可以繼續(xù)使用。
程序設計架構采用如下所示:
ParentTable包含三個函數(shù)。
MatchStartLine():用于查找三大報表的起始行。
MatchEndline():用于查找三大報表的結束行。
Anla():用于解析查找到的報表行。
在解析不用的PDF文件時,直接進行override這三個函數(shù),就可以實現(xiàn)解決不同的表格匹配問題。
新建一個PDFFile類,在這個類中實現(xiàn)調用ParentTable的anla函數(shù),來解析所有的PDF文件中的所有表格。
public boolean anla(){
for(ParentTable table : tables){
int nIndexStart = table.matchStartLine(lines);
int nIndexEnd = table.matchEndLine(lines);
/*取出表內容*/
String[] arrTableLines =newString[nIndexEnd - nIndexStart +1];
System.arraycopy(lines, nIndexStart, arrTableLines,0, nTableLineCount);
if(arrTableLines.length <=0)
continue;
table.setTableLines(arrTableLines);
/*分析表內容*/
table.anla();
}
}
在主程序中,調用PDFFile類中的anla()函數(shù),將依次解析tables參數(shù)中所有表格類型,將解決匹配所有PDF文件中表格。
下一節(jié)將解決如何使用多線程來解析PDF文件。
-
JAVA
+關注
關注
19文章
2974瀏覽量
105145 -
程序
+關注
關注
117文章
3795瀏覽量
81411 -
PDF
+關注
關注
1文章
169瀏覽量
33803
原文標題:PDF解析程序架構設計
文章出處:【微信號:gh_757915171cb5,微信公眾號:FPGA自學筆記】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論