iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >教你用Python实现自动提取并收集信息的功能
  • 348
分享到

教你用Python实现自动提取并收集信息的功能

2024-04-02 19:04:59 348人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录一、简介二、代码实现一、简介 本功能目的在于提取收据/发票上的信息,用机器代替人的方式,提高工作效率 实现方式是通过cv2模块截取需要的信息,调用百度的api文

一、简介

  • 本功能目的在于提取收据/发票上的信息,用机器代替人的方式,提高工作效率
  • 实现方式是通过cv2模块截取需要的信息,调用百度的api文字识别接口

在这里插入图片描述

二、代码实现

1.导入需要的库,包括百度的api接口跟cv2图像截图图库


import cv2
from aip import AipOcr

# 读取图片,利用imshow显示图片
pic = cv2.imread(r'Y:\cut\img1.png')
pic = cv2.resize(pic,None,fx = 0.5, fy = 0.5)
cv2.imshow('img',pic)
cv2.waiTKEy(0)

2.截取图片,获取需要的信息,包括以下信息

  • 时间Time
  • 商家business
  • 商品Goods
  • 价格money
  • 单号num

# 删除不必要的部分
img = pic[210:500, 100:580]

# 截取各部分的文字
time = pic[400:430, 100:580]
business = pic[370:400, 100:580]
goods = pic[350:380, 100:580]
money = pic[210:300, 100:580]
num = pic[460:500, 100:580]
# 查看截取的部分是否合适

gener_name = ['time','business','goods','money','num']
excel_data = {}
pd_columns = ["a","b","c","d","e"] # 标题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.定义函数将截取好的图片另存到文件夹


def shotcut_image(args):
    for index in gener:
        cv2.imwrite('image/{}.png'.fORMat(args), img)

4.调用百度api接口,实现文字识别


# 导入api
AppID = '24177719'
API_Key = 'p8skmRYfHGoVGR4UU03Q5jiM'
Secret_Key = 'dyM0tzSILBZu9CFqZ7IkjWwECGaws4xo'

cilent = AipOcr(AppID,API_Key,Secret_Key)

def get_Words(img_name):
    with open('image/{}.png'.format(img_name), 'rb') as f:
        result = cilent.basicAccurate(f.read())
        return result

5.最后将信息转为Dataframe,利用pandas的to_exccel功能,将数据放到excel里面


def convert_to_dataframe(words):
    # 构建dataframe
    result = words['words_result']
    for word in result:
        excel_data.setdefault('a', []).append(word['words'])

# 将所有words读取后,取出语句存入excel
def convert_to_excel():
    frame = DataFrame(excel_data, columns=pd_columns)
    # todo 表头需要额外处理,这里指定不设置表头
    frame.to_excel('out.xls',index=False, header=False)

在这里插入图片描述

到此这篇关于教你用python实现自动提取并收集信息的功能的文章就介绍到这了,更多相关Python自动提取收集信息功能内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 教你用Python实现自动提取并收集信息的功能

本文链接: https://www.lsjlt.com/news/126256.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作