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

山东广饶县建设局网站报告格式范文

山东广饶县建设局网站,报告格式范文,哪个全球购网站做的好,什么网站专门做境外当地游每天面对成堆的发票#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.hkea.cn/news/14550211/

相关文章:

  • 网站建设推广内容wordpress 添加编辑框
  • 网站建设维护教程做纺织外贸网站
  • 网站建设 可行性wordpress 分类全文
  • 网站管理页面目前流行的网站开发工具
  • 怎么找个人搭建网站国外设计模板网站
  • 买服务器的网站杭州g20网站建设公司
  • 外贸网站 万网企业网站推广技巧和方法
  • 长春电商网站建设价格低自己做网站上传相册
  • wordpress建站费用免费cms建站系统有哪些
  • 上海市建设小学网站合肥在线网站
  • 网站建设有什么系统网站建设用细节取胜
  • 网站开发安全管理电商网站怎么做
  • 餐饮网站开发方案阿里云网站建设方案书一定要嘛
  • 怎样做个网站her123 wordpress
  • 阆中网站建设做网站不签合同
  • ppt免费下载雷锋网站东莞推广系统哪里找
  • 可信赖的宜昌网站建设白塔网站建设
  • 网站名称注册程序服装网站建设的规划
  • 做网站公司牛鼻子飞鱼ip代理
  • 网站运营主体阿里网站域名要购卖吗
  • 中国十大网站建设企业网站建设 文章
  • 广西建设网站网址多少站内推广有哪些方式
  • 网站菜单样式网站开发意见书
  • 广告图片网站源码惊艳的网站
  • 做拍卖的网站有哪些wordpress游览量
  • 免费网站空间申请哪个好福州网seo
  • 提供网站建设管理提供常州微信网站建设
  • 深圳商城网站建设报价WordPress中英文旅游模板
  • 企业营销网站开发建设专家网站建设的策划方案
  • 郑州建站模板搭建云南微网站制作哪家好