需要使用到百度API对图片文字进行识别
在百度智能云官网中注册一个账号百度智能云-登录https://login.bce.baidu.com/
之后在管理中心里创建应用
创建完成后会得到:
记下一下AppID
&API Key
&Secret Key
这三个值,调用接口时使用。
示例图片:
示例代码:
import pandas as pd
from aip import AipOcr
# 设置APP_ID、API_KEY和SECRET_KEY
APP_ID = "填自己的"
API_KEY = "填自己的"
SECRET_KEY = "填自己的"
# 创建百度OCR客户端
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
# 定义图片路径
image_path = r"填自己的图片路径"
# 定义保存结果的Excel文件路径
output_path = r"填自己想要保存的路径"
# 读取图片文件
with open(image_path, 'rb') as fp:
# 调用通用文字识别接口,提取图片中的文字信息
result = client.basicGeneral(fp.read())
# 初始化一个二维列表,用于存储识别结果
table = []
# 解析识别结果
if 'words_result' in result:
words = result['words_result']
for i, word in enumerate(words):
# 获取列号 这个图片是4列所以用的i%4 对应不同的图片需要更改
col_num = i % 4
# 如果是新的一行,则添加一个新列表
if col_num == 0:
table.append([])
# 将识别结果添加到对应的列中
table[-1].append(word['words'])
# 将二维列表转换为DataFrame
data = pd.DataFrame(table, columns=["Column1", "Column2", "Column3","Column4"])
# 将DataFrame写入Excel表格
data.to_excel(output_path, engine='openpyxl', index=False)
print("文字识别结果已导入到Excel表格中:", output_path)
else:
print("OCR识别失败")
识别结果:
总结:本文介绍了用Pycharm对图片中表格进行文字识别,并导出到xlsx文件中的方法