千家信息网

Python如何调用百度AI实现图片上表格识别功能

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下Python如何调用百度AI实现图片上表格识别功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!步骤安装百度AI库!pip install baidu-aip注册百
千家信息网最后更新 2026年11月03日Python如何调用百度AI实现图片上表格识别功能

小编给大家分享一下Python如何调用百度AI实现图片上表格识别功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

    步骤

    安装百度AI库

    !pip install baidu-aip

    注册百度AI开放平台

    先注册百度AI,获得ID和密钥。注册方法可参考:注册方法 只需走到 "1.6 获取密钥" 即可。然后记录下自己的APP_ID、API_KEY、SECRET_KEY,就可以开始了。

    调用AipOcr库识别表格文字

    from aip import AipOcr #导入AipOcr模块,用于做文字识别APP_ID = '*********' # 你申请的API_KEY = '*********'# 你申请的SECRET_KEY = '*********'# 你申请的client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

    选择的图片为某化学方程式表(来源于网络)

    以二进制方式打开图片,读取:

    file = "表格图片\\化学方程式表.jpg"pic = open(file,'rb') #以二进制方式打开图片img = pic.read() #读取table = client.tableRecognitionAsync(img)    #调用表格识别模块print(table)

    然后调用表格识别模块tableRecognitionAsync(),并将返回值存入变量table中并查看:

    table是一个字典,其中有2个键,一个叫result,一个叫log_id。我们需要的是result中的request_id,可以通过如下语句获取:

    request_id = table['result'][0]['request_id']request_id

    通过这个ID,可以获取识别完成后所保存的Excel表格的下载地址。将request_id传入getTableRecognitionResult()就能获取结果。

    result = client.getTableRecognitionResult(request_id)print(result)

    打印一下结果result,就能看到下面的内容。其中result_data对应的那个网址就是Excel表格的下载地址。

    调用webbrowser库使用webbrowser.open(url)语句自动打开网址进行下载:

    url = result['result']['result_data']import webbrowser # 打开浏览器webbrowser.open(url)

    附:Python 通过浏览器 打开指定网址

    1.通过默认浏览器打开网页

    import webbrowserwebbrowser.open("http://www.baidu.com")

     webbrowser.open(url, new=0, autoraise=True) 在系统的默认浏览器中访问url地址,如果new=0, url会在同一个

    浏览器窗口中打开;如果new=1,新的浏览器窗口会被打开;new=2 新的浏览器tab会被打开

    2.通过os模块,启动浏览器并打开指定网页

    import osos.system('"C:\Program Files\internet explorer\iexplore.exe" http://www.baidu.com')

    3.使用selenium

    from selenium import webdriverurl='http://www.baidu.com'driver = webdriver.Firefox()driver.get(url)

    识别结果如下:

    这个Excel文件有6张工作表,具体包含与图片中表格内容的对应关系如下。body储存表格部分的内容,header储存表头的文字,footer储存表尾的文字。

    识别效果并非完美,但是整体看来还行,当然,原稿越清晰,识别效果越好。

    可能遇到的问题

    在开始前,需要检查图片的大小,必须在1K~4M之间,不然会报错"'error_msg': 'image size error, image is too big or too small, upper limit 4M, lower limit 1k, please check your param'"。

    批量操作

    先获取所有图片的路径,存入pictures列表。结果如下。

    #获取路径下所有图片文件,并存入列表import oswork_path = "表格图片\\"pictures=[] # 存储文件夹内所有文件的路径(包括子目录内的文件)for root, dirs, files in os.walk(work_path):    path = [os.path.join(root, name) for name in files]    pictures.extend(path)pictures

    然后将所有图片逐个传入表格识别接口,获取其请求ID及存有识别结果的Excel文件的下载地址。在提取Excel下载路径之前,需要先判断识别是否完成。这是通过识别结果返回的字典中的'ret_msg'对应的值来判断的。只有当它是"已完成"时,才能获得下载链接。此处用了while循环,每隔2秒刷新一下状态,直到状态是"已完成"时,才提取链接。然后使用requests.get()获取下载链接信息,写入Excel文件。Excel自动命名及下载结果如图。

    from aip import AipOcr  #导入AipOcr模块,用于做文字识别import time #时间模块import requests #用于HTTP请求APP_ID = '24800359' # 你申请的API_KEY = 'PrmTtmrqkeaqhvxOPEN4eZVt'# 你申请的SECRET_KEY = 'LOFpCH6wpLV7xZPG0DTcvV4x1Sqyvmk9'# 你申请的client = AipOcr(APP_ID, API_KEY, SECRET_KEY)#提交识别请求,并储存所有请求IDfor picture in pictures:    pic = open(picture,'rb') #以二进制方式打开图片    img = pic.read() #读取    table = client.tableRecognitionAsync(img)    #调用表格识别模块    request_id = table['result'][0]['request_id']        #判断识别是否完成,直到完成才根据请求ID获取Excel下载路径    result = client.getTableRecognitionResult(request_id)  #通过ID获取识别结果    while result['result']['ret_msg'] != '已完成': #如果状态是"已完成",才能获取下载地址        time.sleep(2) #暂停2秒再刷新        result = client.getTableRecognitionResult(request_id) #持续刷新,直到满足条件            download_path = result['result']['result_data']        #下载并将Excel文件名设为图片名    excel_name = picture.split(".")[0] + ".xls" #让excel文件的名字与图片相同    excel = requests.get(download_path) #抓取下载链接    file = open(excel_name, 'wb') #新建excel文件    file.write(excel.content) #写入excel文件并保存

    看完了这篇文章,相信你对"Python如何调用百度AI实现图片上表格识别功能"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

    图片 表格 文件 浏览器 结果 浏览 模块 地址 文字 路径 链接 二进制 内容 方式 状态 网址 功能 化学 化学方程式 字典 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司 广州紫鲸互联网科技有限公司 工业互联网科技新基建 美国互联网科技巨头监管 唐信互联网科技 美国互联网黑科技 北京禾田雨橡互联网科技 猫创互联网科技 互联网科技公司的市场部门 现代科技和互联网有关系吗 央行互联网金融科技公司 科技与互联网哪个更好 昭通互联网科技选哪家 国大互联网教育科技有限公司薪资 锡山区互联网智能科技产品供应 互联网企业科技类企业如何做账 下一代互联网重大应用科技园 江苏互联网科技小贷 互联网时代科技型公司的机会 互联网领先科技活动 科技互联网龙头 互联网科技与金融科技 深圳天众互联网科技公司 互联网科技公司名称 以后互联网后是啥科技 荆州市昕露互联网络科技有限公司 江阴互联网智能科技产品进口 移动互联网年度科技创新 银川新华互联网科技学校原画 科技和互联网行业的特点
    0