python代码统计核酸检测结果截图
- #QQ:502440275@qq.com
#本截图适合安康码截图,如需其他地区截图统计,可与我QQ或QQ邮箱联系
#1、在当前文件夹下创建imgs文件夹用于存放图片,图片格式.jpg
#2、在当前文件夹下创建“shuju.xlsx”的Excel用于存放统计结果
文件夹目录样式
统计结果Excel样式
具体代码如下:
- # @Time : 2022/4/19 22:00
- # @Author : CFang
- # @File : hesuan_results.py
- # @Software: PyCharm
- #QQ:502440275@qq.com
- #本截图适合安康码截图,如需其他地区截图统计,可与我QQ或QQ邮箱联系
- #1、在当前文件夹下创建imgs文件夹用于存放图片,图片格式.jpg
- #2、在当前文件夹下创建“shuju.xlsx”的Excel用于存放统计结果
- #获得截图结果
- def get_hesuan_res(path):
- #获得API的access_token
- import requests
- AK = '*******'#输入自己的百度智能云的AK和SK
- SK = '*******'
- # client_id 为官网获取的AK, client_secret 为官网获取的SK
- host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id='+AK+'&client_secret='+SK
- response = requests.get(host)
- if response:
- print(response.json())
- print(response.json()['access_token'])
- # encoding:utf-8
- #文字识别接口,可自己调整不同接口获得不同精度要求
- import requests
- import base64
- '''
- 通用文字识别
- '''
- request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"
- # 二进制方式打开图片文件
- f = open(path, 'rb')
- img = base64.b64encode(f.read())
- params = {"image":img}
- access_token = response.json()['access_token']
- request_url = request_url + "?access_token=" + access_token
- headers = {'content-type': 'application/x-www-form-urlencoded'}
- response = requests.post(request_url, data=params, headers=headers)
- if response:
- # print (response.json())
- # print(response.json()['words_result'])
- all_res = response.json()['words_result']
- return all_res
- # for i in range(len(all_res)):
- # print(i,all_res[i])
- # 对图片识别结果的数据清洗
- all_lists_deals = []
- def deal_datas(all_lists):
- all_lists_deal = []
- if all_lists[5]['words'].split(":")[0] == "姓名":
- for i in range(5, len(all_lists)):
- print(i, all_lists[i]['words']) # ,all_lists_display[i]['words']
- if all_lists[i]['words'] != '>' and all_lists[i]['words'] != '身份证件号码:':
- all_lists_deal.append(all_lists[i]['words'])
- all_lists_deal[0] = all_lists_deal[0].split(":")[1][:-1]
- # print(all_lists_deal)
- else:
- for i in range(6, len(all_lists)):
- print(i, all_lists[i]['words']) # ,all_lists_display[i]['words']
- if all_lists[i]['words'] != '>':
- all_lists_deal.append(all_lists[i]['words'])
- all_lists_deal[0] = all_lists_deal[0].split(":")[1]
- all_lists_deal[1] = all_lists_deal[1].split(":")[1]
- # print(all_lists_deal)
- print(all_lists_deal)
- all_lists_deals.append(all_lists_deal)
- #获取文件夹imgs内的所有图片
- import os
- def get_imlist(path):
- return [os.path.join(path,f) for f in os.listdir(path) if f.endswith('.jpg')]
- img_path = get_imlist("imgs")
- print(img_path)
- for path in img_path:
- all_lists = get_hesuan_res(path)
- deal_datas(all_lists)
- #保存识别清洗后的数据结果到“shuju.xlsx”表中
- # -*- coding: UTF-8 -*-
- from openpyxl import load_workbook
- wb = load_workbook('shuju.xlsx')
- ws = wb['Sheet1']
- row = ws.max_row+1
- for j in range(len(all_lists_deals)):
- for i in range(len(all_lists_deals[j])):
- if len(all_lists_deals[j][i].split(":")) == 1:
- ws.cell(row+j,i+1).value = all_lists_deals[j][i]
- elif all_lists_deals[j][i].split(":")[0] == "检测机构" or all_lists_deals[j][i].split(":")[0] == "身份证件号码":
- ws.cell(row+j, i + 1).value = all_lists_deals[j][i].split(":")[1]
- else:
- ws.cell(row+j, i + 1).value = all_lists_deals[j][i].split(":")[1][:10]
- wb.save('shuju.xlsx')
python代码统计核酸检测结果截图的更多相关文章
- 30行Python代码实现人脸检测
参考OpenCV自带的例子,30行Python代码实现人脸检测,不得不说,Python这个语言的优势太明显了,几乎把所有复杂的细节都屏蔽了,虽然效率较差,不过在调用OpenCV的模块时,因为模块都是C ...
- Python代码统计工具
目录 Python代码统计工具 声明 一. 问题提出 二. 代码实现 三. 效果验证 Python代码统计工具 标签: Python 代码统计 声明 本文将对<Python实现C代码统计工具(一 ...
- python代码统计
代码统计 修改filename为文件夹or文件地址,然后统计所有python文件代码 import os import sys def count_code_lines(filename): res ...
- 10行Python代码实现目标检测
要知道图像中的目标是什么? 或者你想数一幅图里有多少个苹果? 在本文中,我将向你展示如何使用Python在不到10行代码中创建自己的目标检测程序. 如果尚未安装python库,你需要安装以下pytho ...
- 25行 Python 代码实现人脸检测——OpenCV 技术教程
这是篇是利用 OpenCV 进行人脸识别的技术讲解.阅读本文之前,这是注意事项: 建议先读一遍本文再跑代码——你需要理解这些代码是干什么的.成功跑一遍不是目的,能够举一反三.在新任务上找出 bug 才 ...
- Python实现代码统计工具——终极加速篇
Python实现代码统计工具--终极加速篇 声明 本文对于先前系列文章中实现的C/Python代码统计工具(CPLineCounter),通过C扩展接口重写核心算法加以优化,并与网上常见的统计工具做对 ...
- Python实现C代码统计工具(二)
目录 Python实现C代码统计工具(二) 声明 一. 问题提出 二. 代码实现 三. 效果验证 Python实现C代码统计工具(二) 标签: Python 代码统计 声明 本文将对<Pytho ...
- Python实现C代码统计工具(一)
目录 Python实现C代码统计工具(一) 声明 一. 问题提出 二. 代码实现 三. 效果验证 四. 后记 Python实现C代码统计工具(一) 标签: Python 代码统计 声明 本文将基于Py ...
- 看完复旦博士用Python统计核酸结果后,我照着也写了一个
前几天,人民日报公众号报道了复旦博士生自己写代码,通过OCR和正则表达式统计核酸截图结果.具体文章见:https://mp.weixin.qq.com/s/l8u9JifKDlRDoz32-jZWQg ...
随机推荐
- JVM内存模型——堆(heap)、栈(stack)和方法区(method)
JAVA的JVM的内存可分为3个区:堆(heap).栈(stack)和方法区(method) 堆区:堆内存用于存放由new创建的对象和数组.堆是JVM管理的内存中最大的一块,堆被所有线程共享,目的 ...
- RocketMQ下载安装
windows下RocketMQ下载安装教程 一.下载 1.官网下载:http://rocketmq.apache.org/dowloading/releases/ 2.百度网盘下载:https: ...
- httpRunner使用小结
1.每个系统可以给所有相关接口准备一份完整的主流程数据,这样就不用每执行一条用例就要先执行很多前置用例2.每条用例在设计之初,关于使用的前置数据,以及条件判断的数据值,以及设置的前提条件数据值,尽量保 ...
- 杭电OJ 1248 不死族巫妖王 完全背包问题 字节跳动 研发岗编程原题
转载至:https://blog.csdn.net/ssdut_209/article/details/51557776 Problem Description不死族的巫妖王发工资拉,死亡骑士拿到一张 ...
- Django的多数据库与读写分离
1.多个数据库 settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.pa ...
- 遇到过的问题之“解决 No qualifying bean of type 问题”
1.问题 解决 No qualifying bean of type 问题 2.思路: 1 检查是否添加了对应注解 2 检查配置是否正确,扫描包名, 类名及id是否正确 一 . 传统SSM项目 ssm ...
- JavaScript的取值小技巧之“中括号[]取值法”
一.简介 做下记录,今天看了一篇很有意思的文章,学到了这个取值的小技巧 正常的话我们一般都是用对象直接去'.'对应的属性名(也就是键值对的键)来获取对应的值 这里记录的是另一种取值方式,他是采用中括号 ...
- 数据库SQL之学习SUM总和套用条件CASE WHEN语句
1.SQL之学习SUM总和套用条件CASE WHEN语句 2.条件语句CASE WHEN 格式已经在图中写的很明白了 -- 查询t_wzw库中所有数据 总和(条件为t_wzw.birthday > ...
- 一次关于关系抽取(RE)综述调研的交流心得
本文来自于一次交流的的记录,{}内的为个人体会. 基本概念 实事知识:实体-关系-实体的三元组.比如, 知识图谱:大量实时知识组织在一起,可以构建成知识图谱. 关系抽取:由于文本中蕴含大量事实知识,需 ...
- AWS 6R
"The 6 R's": 6 Application Migration Strategies "The 6 R's": 6 Application Migra ...