当前位置: 首页 > news >正文

山东广饶县建设局网站wordpress仿站教程百度云

山东广饶县建设局网站,wordpress仿站教程百度云,网站推广描述,长春火车站人工电话每天面对成堆的发票#xff0c;无论是税务发票还是承兑单据#xff0c;抑或是其他各类公司数据要从照片、PDF等不同格式的内容中提取#xff0c;我们都有必要进行快速办公的能力提升。因此#xff0c;我们的目标要求就十分明显了#xff0c;首先要从图片中获取数据#x…每天面对成堆的发票无论是税务发票还是承兑单据抑或是其他各类公司数据要从照片、PDF等不同格式的内容中提取我们都有必要进行快速办公的能力提升。因此我们的目标要求就十分明显了首先要从图片中获取数据其次将数据统一导入到EXCEL中。配置需求1.ImageMagick https://download.csdn.net/download/yyfloveqcw/875797902.tesseract-OCR https://download.csdn.net/download/yyfloveqcw/875798013.Python3.74.from PIL import Image as PI5.import io6.import os7.import pyocr.builders8.from cnocr import CnOcr9.import xlwt分析上图发现票据金额为“贰拾万元整”数据金额为大写中文因此在导入Excel之前我们需要将金额票据的数据转换成数字的格式基于此我们需要首先完成大写汉字和数字的转换。def chineseNumber2Int(strNum: str):result 0temp 1 # 存放一个单位的数字如十万count 0 # 判断是否有chArrcnArr [壹, 贰, 叁, 肆, 伍, 陆, 柒, 捌, 玖]chArr [拾, 佰, 仟, 万, 亿]for i in range(len(strNum)):b Truec strNum[i]for j in range(len(cnArr)):if c cnArr[j]:if count ! 0:result tempcount 0temp j 1b Falsebreakif b:for j in range(len(chArr)):if c chArr[j]:if j 0:temp * 10elif j 1:temp * 100elif j 2:temp * 1000elif j 3:temp * 10000elif j 4:temp * 100000000count 1if i len(strNum) - 1:result tempreturn result通过上述代码即可实现大写字母与数字的转换例如输入“贰拾万元整”即可导出“200000”再将其转换成数字后即可极大地简化表格的操作也可以在完成表格操作的同时有利于数据归档。接下来我们需要分析发票的内部内容分析下图可知我们需要获取以下几个数据内容“出票日期”、“汇票到账日期”、“票据号码”、“收款人”、“票据金额”、“出票人”可以通过画图软件获取精准定位。如图小黑点即鼠标所在地画图软件左下角即他的坐标。提取出票日期def text1(new_img):#提取出票日期left 80top 143right 162bottom 162image_text1 new_img.crop((left, top, right, bottom))#展示图片#image_text1.show()txt1 tool.image_to_string(image_text1)print(txt1)return str(txt1)2.提取金额def text2(new_img):#提取金额left 224top 355right 585bottom 380image_text2 new_img.crop((left, top, right, bottom))#展示图片#image_text2.show()image_text2.save(img/tmp.png)temp ocr.ocr(img/tmp.png)temp.join(temp[0])txt2chineseNumber2Int(temp)print(txt2)return txt23.提取出票人def text3(new_img):#提取出票人left 177top 207right 506bottom 231image_text3 new_img.crop((left, top, right, bottom))#展示图片#image_text3.show()image_text3.save(img/tmp.png)temp ocr.ocr(img/tmp.png)txt3.join(temp[0])print(txt3)return txt34.提取付款行def text4(new_img):#提取付款行left 177top 274right 492bottom 311image_text4 new_img.crop((left, top, right, bottom))#展示图片#image_text4.show()image_text4.save(img/tmp.png)temp ocr.ocr(img/tmp.png)txt4.join(temp[0])print(txt4)return txt45.提取汇票到账日期def text5(new_img):#提取汇票到日期left 92top 166right 176bottom 184image_text5 new_img.crop((left, top, right, bottom))#展示图片#image_text5.show()txt5 tool.image_to_string(image_text5)print(txt5)return txt56.提取票据单据def text6(new_img):#提取票据号码left 598top 166right 870bottom 182image_text6 new_img.crop((left, top, right, bottom))#展示图片#image_text6.show()txt6 tool.image_to_string(image_text6)print(txt6)return txt6在将数据全部提取完成之后即进入设置环节我们需要首先将所有账单文件进行提取获取他们的文件名和路径。ocrCnOcr() tool pyocr.get_available_tools()[0] filePathimg img_name[] for i,j,name in os.walk(filePath):img_namename在获取完整后即可进行数据导入Excel的操作。count1 book xlwt.Workbook(encodingutf-8,style_compression0) sheet book.add_sheet(test,cell_overwrite_okTrue) for i in img_name:img_url filePath/iwith open(img_url, rb) as f:a f.read()new_img PI.open(io.BytesIO(a))## 写入csvcol (年份,出票日期,金额,出票人,付款行全称,汇票到日期,备注)for j in range(0,7):sheet.write(0,j,col[j])book.save(1.csv)shijiantext1(new_img)sheet.write(count,0,shijian[0:4])sheet.write(count,1,shijian[5:])sheet.write(count,2,text2(new_img))sheet.write(count,3,text3(new_img))sheet.write(count,4,text4(new_img))sheet.write(count,5,text5(new_img))sheet.write(count,6,text6(new_img))count count 1至此完整流程结束。附上源码全部from wand.image import Image from PIL import Image as PI import pyocr import io import re import os import shutil import pyocr.builders from cnocr import CnOcr import requests import xlrd import xlwt from openpyxl import load_workbookdef chineseNumber2Int(strNum: str):result 0temp 1 # 存放一个单位的数字如十万count 0 # 判断是否有chArrcnArr [壹, 贰, 叁, 肆, 伍, 陆, 柒, 捌, 玖]chArr [拾, 佰, 仟, 万, 亿]for i in range(len(strNum)):b Truec strNum[i]for j in range(len(cnArr)):if c cnArr[j]:if count ! 0:result tempcount 0temp j 1b Falsebreakif b:for j in range(len(chArr)):if c chArr[j]:if j 0:temp * 10elif j 1:temp * 100elif j 2:temp * 1000elif j 3:temp * 10000elif j 4:temp * 100000000count 1if i len(strNum) - 1:result tempreturn resultdef text1(new_img):#提取出票日期left 80top 143right 162bottom 162image_text1 new_img.crop((left, top, right, bottom))#展示图片#image_text1.show()txt1 tool.image_to_string(image_text1)print(txt1)return str(txt1) def text2(new_img):#提取金额left 224top 355right 585bottom 380image_text2 new_img.crop((left, top, right, bottom))#展示图片#image_text2.show()image_text2.save(img/tmp.png)temp ocr.ocr(img/tmp.png)temp.join(temp[0])txt2chineseNumber2Int(temp)print(txt2)return txt2def text3(new_img):#提取出票人left 177top 207right 506bottom 231image_text3 new_img.crop((left, top, right, bottom))#展示图片#image_text3.show()image_text3.save(img/tmp.png)temp ocr.ocr(img/tmp.png)txt3.join(temp[0])print(txt3)return txt3 def text4(new_img):#提取付款行left 177top 274right 492bottom 311image_text4 new_img.crop((left, top, right, bottom))#展示图片#image_text4.show()image_text4.save(img/tmp.png)temp ocr.ocr(img/tmp.png)txt4.join(temp[0])print(txt4)return txt4 def text5(new_img):#提取汇票到日期left 92top 166right 176bottom 184image_text5 new_img.crop((left, top, right, bottom))#展示图片#image_text5.show()txt5 tool.image_to_string(image_text5)print(txt5)return txt5 def text6(new_img):#提取票据号码left 598top 166right 870bottom 182image_text6 new_img.crop((left, top, right, bottom))#展示图片#image_text6.show()txt6 tool.image_to_string(image_text6)print(txt6)return txt6ocrCnOcr()tool pyocr.get_available_tools()[0]filePathimg img_name[] for i,j,name in os.walk(filePath):img_namename count1book xlwt.Workbook(encodingutf-8,style_compression0) sheet book.add_sheet(test,cell_overwrite_okTrue)for i in img_name:img_url filePath/iwith open(img_url, rb) as f:a f.read()new_img PI.open(io.BytesIO(a))## 写入csvcol (年份,出票日期,金额,出票人,付款行全称,汇票到日期,备注)for j in range(0,7):sheet.write(0,j,col[j])book.save(1.csv)shijiantext1(new_img)sheet.write(count,0,shijian[0:4])sheet.write(count,1,shijian[5:])sheet.write(count,2,text2(new_img))sheet.write(count,3,text3(new_img))sheet.write(count,4,text4(new_img))sheet.write(count,5,text5(new_img))sheet.write(count,6,text6(new_img))count count 1
http://www.dnsts.com.cn/news/38499.html

相关文章:

  • 注册个网站怎么注册中国建筑业协会
  • 奎屯网站建设网站响应样式
  • 建站工具 风铃吴博 wordpress
  • 做基金哪个网站好微网站背景图片
  • 自己的网站怎么创建有模板怎么做网站
  • 江苏城乡建设职业学院网站网站建设好的乡镇
  • 有哪些网站做的比较好看的网站建设业务开展方案
  • 网站建设与准备django 和 wordpress
  • 国外科技感强的网站wordpress 主题导出
  • wordpress修改器seo建网站
  • 网站建设先做后网站建设要多久豆瓣
  • 一站式企业服务wordpress密码错误
  • 哪里有个人卖房网站防网站模板
  • 烟台网站制作企业什么软件可以做动漫视频网站
  • 陵水网站建设费用wordpress主题页面丢失
  • 定制网站开发系统桂林象鼻山在哪
  • 网站页眉设计wordpress php7.2
  • 模板网站判定3d打印 东莞网站建设
  • 南昌品牌网站建设新冠北京最新消息
  • 公司做网站自己可以做类似wordpress
  • 网站婚庆模板免费制作永久个人网站
  • 怎样下载建设部网站商城网站后台模板
  • 浙江网站建设与维护书版面设计网站
  • 合肥市重点工程建设管理局网站长春哪家网站做的好
  • 网站品牌建设建议学做网站后台开发
  • 哪些网站可以做代理做网站诱导网站
  • 商丘网站制作推广网络营销推广的步骤是什么
  • 烟台快速建站有哪些公司江门市住房城乡建设局网站
  • 重庆开网站韩国的小游戏网站
  • 上海网站建设升级5g空间大吗企业网站