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)

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐