如何从pdf中提取相应的列数据

时间:2017-12-31 10:56:52

标签: python pdf-scraping

pdf包含逐行分隔的数据,并且在一行之后有一个表,其中包含标题及其下面的对应值,我无法以有序的方式获取它,而是我获得完整的列标题在另一个之后作为文本。我能够获得数据,一行一行地显示,关联标题及其相应的值,我无法对该表做同样的事情。

fp = open(my_file, "rb")
parser = PDFParser(fp)
document = PDFDocument(parser)
if not document.is_extractable:
     raise PDFTextExtractionNotAllowed

rsrcmgr = PDFResourceManager()
laparams = LAParams()
laparams.line_margin = 12
device = PDFPageAggregator(rsrcmgr, laparams=laparams)
interpreter = PDFPageInterpreter(rsrcmgr, device)
for page in PDFPage.create_pages(document):
    interpreter.process_page(page)
    layout = device.get_result()
    for lt_obj in layout:
        if isinstance(lt_obj,LTTextBox):
            extracted_text += lt_obj.get_text()

print  extracted_text 

1 个答案:

答案 0 :(得分:1)

PDF不按任何特定顺序排列(尽管通常订单并非完全随机)。

您需要找到标题,然后从文本的X,Y位置推断出行的内容。