Python 解析PDF文件中表格數據(pdf to tables)

PDF文件表格樣例
在這裏插入圖片描述
Python解析結果
在這裏插入圖片描述
Tika解析樣例
1、TEXT格式

 Tika tika = new Tika(); tika.setMaxStringLength(100 * 1024 * 1024); try (InputStream stream = new FileInputStream(new File("600060_2018_zB.pdf"))) { return tika.parseToString(stream); } Tika tika = new Tika(); tika.setMaxStringLength(100 * 1024 * 1024); try (InputStream stream = new FileInputStream(new File("600060_2018_zB.pdf"))) { return tika.parseToString(stream); }

Text格式解析結果
在這裏插入圖片描述
2、XHTML格式

 ContentHandler handler = new ToXMLContentHandler(); AutoDetectParser parser = new AutoDetectParser(); Metadata metadata = new Metadata(); try (InputStream stream = new FileInputStream(new File("600060_2018_zB.pdf"))) { parser.parse(stream, handler, metadata); return handler.toString(); } ContentHandler handler = new ToXMLContentHandler(); AutoDetectParser parser = new AutoDetectParser(); Metadata metadata = new Metadata(); try (InputStream stream = new FileInputStream(new File("600060_2018_zB.pdf"))) { parser.parse(stream, handler, metadata); return handler.toString(); }

XHTML格式解析結果
在這裏插入圖片描述 解析PDF常用組件(PdfBox、iText、Tika等)都無法將表格數據解析成有規則的格式。解析後格式基本是TEXT、XHTML等導致處理表格數據變的非常複雜,基本需要全枚舉加正則表達式才能處理個70-80%。有人說用自然語言處理與機器學習不知道效果怎麼樣。