1. #QQ:502440275@qq.com
    #本截图适合安康码截图,如需其他地区截图统计,可与我QQ或QQ邮箱联系
    #1、在当前文件夹下创建imgs文件夹用于存放图片,图片格式.jpg
    #2、在当前文件夹下创建“shuju.xlsx”的Excel用于存放统计结果

    文件夹目录样式

统计结果Excel样式



  1. 具体代码如下:
  1. # @Time : 2022/4/19 22:00
  2.  
  3. # @Author : CFang
  4.  
  5. # @File : hesuan_results.py
  6.  
  7. # @Software: PyCharm
  8. #QQ:502440275@qq.com
  9. #本截图适合安康码截图,如需其他地区截图统计,可与我QQ或QQ邮箱联系
  10. #1、在当前文件夹下创建imgs文件夹用于存放图片,图片格式.jpg
  11. #2、在当前文件夹下创建“shuju.xlsx”的Excel用于存放统计结果
  12.  
  13. #获得截图结果
  14. def get_hesuan_res(path):
  15. #获得API的access_token
  16. import requests
  17. AK = '*******'#输入自己的百度智能云的AK和SK
  18. SK = '*******'
  19. # client_id 为官网获取的AK, client_secret 为官网获取的SK
  20. host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id='+AK+'&client_secret='+SK
  21. response = requests.get(host)
  22. if response:
  23. print(response.json())
  24. print(response.json()['access_token'])
  25.  
  26. # encoding:utf-8
  27. #文字识别接口,可自己调整不同接口获得不同精度要求
  28. import requests
  29. import base64
  30.  
  31. '''
  32. 通用文字识别
  33. '''
  34.  
  35. request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"
  36. # 二进制方式打开图片文件
  37. f = open(path, 'rb')
  38. img = base64.b64encode(f.read())
  39.  
  40. params = {"image":img}
  41. access_token = response.json()['access_token']
  42. request_url = request_url + "?access_token=" + access_token
  43. headers = {'content-type': 'application/x-www-form-urlencoded'}
  44. response = requests.post(request_url, data=params, headers=headers)
  45. if response:
  46. # print (response.json())
  47. # print(response.json()['words_result'])
  48. all_res = response.json()['words_result']
  49. return all_res
  50. # for i in range(len(all_res)):
  51. # print(i,all_res[i])
  52.  
  53. # 对图片识别结果的数据清洗
  54. all_lists_deals = []
  55. def deal_datas(all_lists):
  56. all_lists_deal = []
  57. if all_lists[5]['words'].split(":")[0] == "姓名":
  58. for i in range(5, len(all_lists)):
  59. print(i, all_lists[i]['words']) # ,all_lists_display[i]['words']
  60. if all_lists[i]['words'] != '>' and all_lists[i]['words'] != '身份证件号码:':
  61. all_lists_deal.append(all_lists[i]['words'])
  62. all_lists_deal[0] = all_lists_deal[0].split(":")[1][:-1]
  63. # print(all_lists_deal)
  64. else:
  65. for i in range(6, len(all_lists)):
  66. print(i, all_lists[i]['words']) # ,all_lists_display[i]['words']
  67. if all_lists[i]['words'] != '>':
  68. all_lists_deal.append(all_lists[i]['words'])
  69. all_lists_deal[0] = all_lists_deal[0].split(":")[1]
  70. all_lists_deal[1] = all_lists_deal[1].split(":")[1]
  71. # print(all_lists_deal)
  72.  
  73. print(all_lists_deal)
  74. all_lists_deals.append(all_lists_deal)
  75.  
  76. #获取文件夹imgs内的所有图片
  77. import os
  78. def get_imlist(path):
  79. return [os.path.join(path,f) for f in os.listdir(path) if f.endswith('.jpg')]
  80.  
  81. img_path = get_imlist("imgs")
  82. print(img_path)
  83.  
  84. for path in img_path:
  85. all_lists = get_hesuan_res(path)
  86. deal_datas(all_lists)
  87.  
  88. #保存识别清洗后的数据结果到“shuju.xlsx”表中
  89. # -*- coding: UTF-8 -*-
  90. from openpyxl import load_workbook
  91.  
  92. wb = load_workbook('shuju.xlsx')
  93. ws = wb['Sheet1']
  94.  
  95. row = ws.max_row+1
  96. for j in range(len(all_lists_deals)):
  97. for i in range(len(all_lists_deals[j])):
  98. if len(all_lists_deals[j][i].split(":")) == 1:
  99. ws.cell(row+j,i+1).value = all_lists_deals[j][i]
  100. elif all_lists_deals[j][i].split(":")[0] == "检测机构" or all_lists_deals[j][i].split(":")[0] == "身份证件号码":
  101. ws.cell(row+j, i + 1).value = all_lists_deals[j][i].split(":")[1]
  102. else:
  103. ws.cell(row+j, i + 1).value = all_lists_deals[j][i].split(":")[1][:10]
  104. wb.save('shuju.xlsx')


python代码统计核酸检测结果截图的更多相关文章

  1. 30行Python代码实现人脸检测

    参考OpenCV自带的例子,30行Python代码实现人脸检测,不得不说,Python这个语言的优势太明显了,几乎把所有复杂的细节都屏蔽了,虽然效率较差,不过在调用OpenCV的模块时,因为模块都是C ...

  2. Python代码统计工具

    目录 Python代码统计工具 声明 一. 问题提出 二. 代码实现 三. 效果验证 Python代码统计工具 标签: Python 代码统计 声明 本文将对<Python实现C代码统计工具(一 ...

  3. python代码统计

    代码统计 修改filename为文件夹or文件地址,然后统计所有python文件代码 import os import sys def count_code_lines(filename): res ...

  4. 10行Python代码实现目标检测

    要知道图像中的目标是什么? 或者你想数一幅图里有多少个苹果? 在本文中,我将向你展示如何使用Python在不到10行代码中创建自己的目标检测程序. 如果尚未安装python库,你需要安装以下pytho ...

  5. 25行 Python 代码实现人脸检测——OpenCV 技术教程

    这是篇是利用 OpenCV 进行人脸识别的技术讲解.阅读本文之前,这是注意事项: 建议先读一遍本文再跑代码——你需要理解这些代码是干什么的.成功跑一遍不是目的,能够举一反三.在新任务上找出 bug 才 ...

  6. Python实现代码统计工具——终极加速篇

    Python实现代码统计工具--终极加速篇 声明 本文对于先前系列文章中实现的C/Python代码统计工具(CPLineCounter),通过C扩展接口重写核心算法加以优化,并与网上常见的统计工具做对 ...

  7. Python实现C代码统计工具(二)

    目录 Python实现C代码统计工具(二) 声明 一. 问题提出 二. 代码实现 三. 效果验证 Python实现C代码统计工具(二) 标签: Python 代码统计 声明 本文将对<Pytho ...

  8. Python实现C代码统计工具(一)

    目录 Python实现C代码统计工具(一) 声明 一. 问题提出 二. 代码实现 三. 效果验证 四. 后记 Python实现C代码统计工具(一) 标签: Python 代码统计 声明 本文将基于Py ...

  9. 看完复旦博士用Python统计核酸结果后,我照着也写了一个

    前几天,人民日报公众号报道了复旦博士生自己写代码,通过OCR和正则表达式统计核酸截图结果.具体文章见:https://mp.weixin.qq.com/s/l8u9JifKDlRDoz32-jZWQg ...

随机推荐

  1. JVM内存模型——堆(heap)、栈(stack)和方法区(method)

      JAVA的JVM的内存可分为3个区:堆(heap).栈(stack)和方法区(method) 堆区:堆内存用于存放由new创建的对象和数组.堆是JVM管理的内存中最大的一块,堆被所有线程共享,目的 ...

  2. RocketMQ下载安装

    windows下RocketMQ下载安装教程   一.下载 1.官网下载:http://rocketmq.apache.org/dowloading/releases/ 2.百度网盘下载:https: ...

  3. httpRunner使用小结

    1.每个系统可以给所有相关接口准备一份完整的主流程数据,这样就不用每执行一条用例就要先执行很多前置用例2.每条用例在设计之初,关于使用的前置数据,以及条件判断的数据值,以及设置的前提条件数据值,尽量保 ...

  4. 杭电OJ 1248 不死族巫妖王 完全背包问题 字节跳动 研发岗编程原题

    转载至:https://blog.csdn.net/ssdut_209/article/details/51557776 Problem Description不死族的巫妖王发工资拉,死亡骑士拿到一张 ...

  5. Django的多数据库与读写分离

    1.多个数据库 settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.pa ...

  6. 遇到过的问题之“解决 No qualifying bean of type 问题”

    1.问题 解决 No qualifying bean of type 问题 2.思路: 1 检查是否添加了对应注解 2 检查配置是否正确,扫描包名, 类名及id是否正确 一 . 传统SSM项目 ssm ...

  7. JavaScript的取值小技巧之“中括号[]取值法”

    一.简介 做下记录,今天看了一篇很有意思的文章,学到了这个取值的小技巧 正常的话我们一般都是用对象直接去'.'对应的属性名(也就是键值对的键)来获取对应的值 这里记录的是另一种取值方式,他是采用中括号 ...

  8. 数据库SQL之学习SUM总和套用条件CASE WHEN语句

    1.SQL之学习SUM总和套用条件CASE WHEN语句 2.条件语句CASE WHEN 格式已经在图中写的很明白了 -- 查询t_wzw库中所有数据 总和(条件为t_wzw.birthday > ...

  9. 一次关于关系抽取(RE)综述调研的交流心得

    本文来自于一次交流的的记录,{}内的为个人体会. 基本概念 实事知识:实体-关系-实体的三元组.比如, 知识图谱:大量实时知识组织在一起,可以构建成知识图谱. 关系抽取:由于文本中蕴含大量事实知识,需 ...

  10. AWS 6R

    "The 6 R's": 6 Application Migration Strategies "The 6 R's": 6 Application Migra ...