在做大數據的時候,首先第一步就是要解決數據的來源,我們采用的設計方案就是使用Python來從一些政府網站爬數據,將披露的銀行、證券、股票、信托等行業中三大報表(利潤表、資產負債表、現金流量表)數據解析并錄入數據庫,我們采用java編程來實現三大報表數據解析。
程序設計采用java面向對象設計的概念,利用java繼承、封裝、多態的特性來設計,可以減去程序更改的麻煩,以前寫的類可以繼續使用。
程序設計架構采用如下所示:
ParentTable包含三個函數。
MatchStartLine():用于查找三大報表的起始行。
MatchEndline():用于查找三大報表的結束行。
Anla():用于解析查找到的報表行。
在解析不用的PDF文件時,直接進行override這三個函數,就可以實現解決不同的表格匹配問題。
新建一個PDFFile類,在這個類中實現調用ParentTable的anla函數,來解析所有的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()函數,將依次解析tables參數中所有表格類型,將解決匹配所有PDF文件中表格。
下一節將解決如何使用多線程來解析PDF文件。
-
JAVA
+關注
關注
19文章
2966瀏覽量
104704 -
程序
+關注
關注
117文章
3785瀏覽量
81006 -
PDF
+關注
關注
1文章
168瀏覽量
33691
原文標題:PDF解析程序架構設計
文章出處:【微信號:gh_757915171cb5,微信公眾號:FPGA自學筆記】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論