天天看点

Python自动化神器:精准提取图片中的表格数据,告别繁琐手动输入

作者:人工智能取经人

本文利用OCR技术和计算机视觉方法,提供了一种从图片中提取表格的方法,不仅能够确保文字信息的绝对准确,而且还能保证不破坏原来的表格结构,对于喜欢利用微信工作的公司来说极大地提高了工作效率

在工作和生活中,我们时常会遇到这样的场景:朋友、客户、同事或领导为了快速传递信息,经常将表格数据以截图的形式发送给我们。然而,这样的图片格式却给我们带来了诸多不便,尤其是当我们想要继续编辑这些数据时。尽管市面上有一些自动提取工具,但它们往往只能提取文字,而无法保证表格的原始结构,这使得我们不得不手动将图片中的信息一一输入到Excel中。

Python自动化神器:精准提取图片中的表格数据,告别繁琐手动输入

这个过程不仅无聊且低效,而且容易出错,极大地影响了我们的工作效率。

然而,现在有了Python自动化工具,我们可以轻松解决这个问题!

Python作为一种强大的编程语言,拥有众多优秀的库和工具,可以帮助我们实现自动化提取图片中的表格数据。通过结合计算机视觉和OCR技术,我们可以编写程序来精准识别图片中的表格,并将其转换为可编辑的Excel格式。

具体来说,我们可以使用OpenCV库来处理图像,通过图像预处理步骤如灰度化、二值化、降噪等,提高表格数据的识别准确率。然后,利用Tesseract OCR引擎来识别图片中的文本,将其转换为字符串形式。

接下来,是关键的一步——识别表格结构。这需要我们利用一些算法和策略来识别表格的行列、单元格等信息,确保数据的准确性和完整性。这个过程可能需要结合一些自然语言处理和机器学习的技术,以应对不同表格布局和格式的挑战。

一旦我们成功识别了表格结构,就可以将提取到的数据按照表格形式组织起来,并使用pandas库将其转换为DataFrame对象。DataFrame是pandas提供的一个强大的数据结构,它不仅可以方便地存储和操作表格数据,还可以直接导出为Excel文件。

最后,我们将DataFrame对象保存为Excel文件,就可以得到一份与原始图片中表格结构完全一致的Excel表格了。这样,我们就可以轻松地对数据进行编辑、分析和处理,大大提高了工作效率。

核心示例代码

from PIL import Image
import pytesseract
from openpyxl import Workbook


def load_image(image_path):
    image = Image.open(image_path)
    return image


def convert_to_grayscale(image):
    return image.convert("L")


def extract_text(image):
    return pytesseract.image_to_string(image)


def extract_table_data(text):
    rows = text.strip().split("\n")
    table_data = [row.split("\t") for row in rows]
    return table_data


def save_as_excel(table_data, output_path):
    workbook = Workbook()
    sheet = workbook.active


    for row_index, row_data in enumerate(table_data, start=1):
        for column_index, cell_data in enumerate(row_data, start=1):
            sheet.cell(row=row_index, column=column_index, value=cell_data)


    workbook.save(output_path)


# 调用示例
image_path = "table_image.jpg"
output_path = "table_data.xlsx"


image = load_image(image_path)
grayscale_image = convert_to_grayscale(image)
text = extract_text(grayscale_image)
table_data = extract_table_data(text)
save_as_excel(table_data, output_path)           
Python自动化神器:精准提取图片中的表格数据,告别繁琐手动输入

可以看到用这种方式提取到的信息不仅没有错误,而且还完美的保持了表格的结构

总之,Python自动化工具为我们提供了一种高效、精准的方法,可以一键提取图片中的表格数据,并将其转换为可编辑的Excel格式。它不仅可以解决我们手动输入表格数据的繁琐问题,还可以保证数据的准确性和完整性。让我们拥抱Python自动化,告别繁琐手动输入的困扰吧!