You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将包含表格数据的JPEG/PNG/BMP图片内容读取到pandas dataframe中

图片表格提取导入Pandas DataFrame 实现方案

目前主流实现逻辑是结合表格结构识别与OCR文字识别提取表格的行列布局和单元格内容,再转换为DataFrame格式,以下是可直接落地的两种方案:

方案1:基于PaddleOCR快速实现(推荐,中文表格识别精度高)

该方案无需自行处理表格行列分割逻辑,工具库已封装完整识别能力,适合绝大多数常规场景:

  • 安装依赖
    执行命令安装所需库:
    pip install paddlepaddle paddleocr pandas
  • 核心实现代码
from paddleocr import PaddleOCR
import pandas as pd

# 初始化OCR模型,开启方向分类适配倾斜图片,lang可根据表格语言调整为en/zh等
ocr = PaddleOCR(use_angle_cls=True, lang='ch', show_log=False)
# 替换为本地图片路径,支持jpeg、png、bmp等格式
img_path = 'test_table.jpeg'

# 执行识别
ocr_result = ocr.ocr(img_path, cls=True)
# 提取每行的单元格文本
table_rows = []
for page in ocr_result:
    for line in page:
        row_content = [cell[1][0] for cell in line]
        table_rows.append(row_content)

# 转换为DataFrame,若第一行为表头则用第一行作为列名
df = pd.DataFrame(table_rows[1:], columns=table_rows[0])
# 可直接导出为csv或做后续处理
# df.to_csv("output_table.csv", index=False)
print(df)

方案2:基于Tesseract + TableTransformer 实现(适合自定义开发场景)

如果你需要对识别逻辑做自定义调整,可使用该组合方案:

  • 安装依赖
    1. 先安装系统级Tesseract OCR引擎,对应系统版本可直接搜索官方安装方法
    2. 安装Python依赖:
      pip install pytesseract table-transformers pandas pillow opencv-python
  • 核心逻辑:先调用TableTransformer检测表格的行列坐标边界,裁剪出单个单元格后调用Tesseract识别单元格内容,最后按行列顺序拼接为二维列表,即可转换为DataFrame。

注意:如果识别的图片存在倾斜、模糊、背景杂乱的情况,可提前用OpenCV做二值化、倾斜校正、去噪等预处理操作,能大幅提升识别准确率。

内容的提问来源于stack exchange,提问作者technophile_3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 14:54:06