从图像中提取表格作为 csvs

问题描述 投票:0回答:0

我有一些 pdf,其中每一页都是模糊图像,我想从其页面中提取表格并将每个表格保存为单独的 csv,因此我问了这个问题:

从图像模糊的 pdf 中提取表格

之后,我能够将 pdf 的每一页转换为 .jpeg 图像并使用 TesseractOCR 从图像中提取信息,它能够选择信息但它似乎跳过了一些字段并且没有保持格式图片:

这是表格的图片:

这是由此生成的 csv:

如您所见,车用汽油下面有两个副标题,但跳过了百分比变化。

如果有一种方法可以保持与机动汽油相同的格式,则应该是 2 列的标题,而不仅仅是第一列(如果需要,可以通过循环手动修复)。

到目前为止,这是我的代码(除了将 pdf 页面转换为图像的代码):

def extract_data_from_table_ocr():
    from img2table.ocr import TesseractOCR
    from img2table.document import Image

    # Instantiation of OCR
    ocr = TesseractOCR(n_threads=1, lang="eng")

    # Instantiation of document, either an image or a PDF
    doc = Image('out3.jpg', dpi=200)

    # Table extraction
    extracted_tables_all = doc.extract_tables(ocr=ocr,
                                        implicit_rows=True,
                                        borderless_tables=True,
                                        min_confidence=50)
    print("length : " , len(extracted_tables_all))
    extracted_tables = extracted_tables_all[0]
    frames = []
    for table in extracted_tables_all:
        try:
            frames.append(table.df)
        except:
            frames.append(table)

        
  
    result = pd.concat(frames)
    
    result.to_csv('tableConverted2.csv', index=False, header = False)

python ocr tesseract python-tesseract
© www.soinside.com 2019 - 2024. All rights reserved.