水质检测仪器-pH计-酸度计-电导率仪-浊度仪
拨号010-56106522

你的位置: 首页 > 新闻中心 > BOB体育全站APP下载

BOB体育全站APP下载

全国首要流域要点断面水质主动监测周报pdf运用python提取

来源:BOB体育全站APP下载

  全国首要流域要点断面水质主动监测周报首要包括分类、序号、收集数据日期、点位称号、周期、PH、DO、CODMn、NH3-N、本周水质、上星期水质、首要污染目标,发布时刻。

  上述数据源中数据为PDF,在ELT入库过程中,数据抽取模块需求将PDF这样的非结构化数据抽取并转换成excel/csv,以方面后续处理。

  PDF周报数据的抽取难点在于PDF中表格仅仅打印助记符,而不像HTML这样的包括开始标签,队伍等,处理起来较为费事。

  测试了几款python库将PDF转为excel, 均有许多问题,比方pdf2docx,camelot,tabula,最终发现pdfplumber处理作用较好,能够较完好地处理兼并的单元格,翻页,杂乱表头号状况,附上首要处理代码:

  一是pdfplumber也没能处理翻页时表格不完好的问题,比方下图中第二页最终一行和第三页榜首行的状况。

  二是周报数据虽然是程序生成的,但仍是仍是有各种数据的细微差异,如生成时刻归于某年第X周等,还有表头或许不相同,需求校验数据。

  那这现两个问题是怎么正确地处理的呢?现在未曾发现便利的办法运用程序处理,只能手动进行修正!

  针对问题一,运用PDF修改软件,如wps等,将线条补齐,对,便是在PDF修改软件里画一条线补齐表格,正如前文说的PDF里的表格仅是打印符,补上一条线后pdfplumber就能正确辨认,pdfplumber真是强壮!

  针对问题二,只能在读取数据后在程序里多校验几遍,要求表头正确,取出来的各数据经过正则进行校验,数据清洗形似也只能这样简略粗犷地处理

  OK,这两个问题解决后,基本能处理80%的数据了,剩余的20%是各种数据奇葩问题,渐渐一条一条处理就好了

  最终再慨叹一下python写小东西是真便利,各品种库十分多,用来做数据仓库过程中多源数据清洗抽取交融十分快捷。一起,在AI处理方面比方语音,图片等开源完成十分多,用来完成各类东西事半功倍。

  月萌API收集部分运用c++,由于最了解c++,写不需求许多上下游生态的后台程序很便利,什么都能完成,资源消耗能操控得很小。

  月萌API的API网关部分运用由Nitfix开源而来的Spring Cloud微服务网关,运用Spring Cloud的榜首感觉便是一个言语的生态太重要了,几行自定义代码就能完成很杂乱的功用,比方鉴权、流量操控、灰度、负载均衡等等。

  别的,运用PHP完成了月萌API的主站(根据ThinkPHP),可用性监控站及收集部分的操控UI完成(C++写UI太费事了,MFC代码写起来会比php多几倍),也运用PHP完成了一些在线的小东西,PHP写网页太便利了。

  如同跑题了,不过上面首要说的便是工欲善其事,必先利其器,挑选正真合适的东西去做对应的事,参考之资,能够攻玉!

  当然也能够直接用本站接口获取实时和历史数据,此类数据收集较为简单,首要难点在于需求长时刻周期性地获取并保存数据