python3用PyPDF2解析pdf文件,用正则匹配数据方式


Posted in Python onMay 12, 2020

我就废话不多说了,大家还是看代码吧!

import PyPDF2
 import re
 
 pdf_file = open('xxx.pdf', mode='rb')
 read_pdf = PyPDF2.PdfFileReader(pdf_file)
 # 获取pdf文件的所有页数
 number_of_pages = read_pdf.getNumPages()
 # print('total_page: ', number_of_pages)
 line_list = []
 # 循环遍历每一页
 for i in range(0, number_of_pages):
  # 读取每一页的内容
  page = read_pdf.getPage(i)
  page_content = page.extractText()
  # 将这一页的内容分割为列表,,并相加所有的页面内容
  line_list += page_content.split()
 # 关闭pdf文件
 pdf_file.close()
 line_buf = ''
 for buf in line_list:
  line_buf = line_buf+' '+buf
 # 匹配数据:第一列和第二列 如:000069.sz 和 100
 # print(line_buf)
 a = re.findall('([0-9]+[0-9]+[0-9]+[0-9]+[0-9]+[0-9]+.[a-z]+[a-z])', line_buf)
 b = re.findall('[0-9]+[0-9]+[0-9]+[0-9]+[0-9]+[0-9]+.[a-z]+[a-z].([0-9,]+)', line_buf)
 # print(b)
 for i in range(0, len(a)):
  a[i] = a[i].upper()
 for i in range(0, len(b)):
  b[i] = int(b[i].replace(',', ''))
 # print(b)
 # 组成字典
 results = dict(zip(a, b))

正则的其他用法:

fp = open(filename,"w")
fp.write(re.search('(StockDescription:)([a-zA-Z]+-[a-zA-Z]+)',line_buf).group(2) +',')
fp.write(time.strftime('%Y%m%d',time.strptime(re.search('(TradeDate:)([0-9]+[a-zA-Z]+[0-9]+)',line_buf).group(2),'%d%B%Y')) +',')
fp.write(re.search('(Price:[A-Z]+)([0-9.,]+)',line_buf).group(2).replace(',','')+',')
fp.close()

补充知识:Logger logger = Logger.getLogger(Class clazz)获取不得的问题

因为有多个同名的Logger类,在测试的时候没注意就直接选了第一个,发现不能用,以为是JAR包的问题,重新导一遍也不能,配置文件检查过也不行,最后发现是类用错了。

python3用PyPDF2解析pdf文件,用正则匹配数据方式

要打印日志用的是log4j包里的Logger类

以上这篇python3用PyPDF2解析pdf文件,用正则匹配数据方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python改变日志(logging)存放位置的示例
Mar 27 Python
详解Python中的array数组模块相关使用
Jul 05 Python
Python模拟三级菜单效果
Sep 11 Python
Python中的pygal安装和绘制直方图代码分享
Dec 08 Python
python numpy和list查询其中某个数的个数及定位方法
Jun 27 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
Oct 11 Python
pandas DataFrame的修改方法(值、列、索引)
Aug 02 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
Oct 24 Python
python如何支持并发方法详解
Jul 25 Python
Python 2.6.6升级到Python2.7.15的详细步骤
Dec 14 Python
python实现的web监控系统
Apr 27 Python
Python爬虫入门案例之爬取二手房源数据
Oct 16 Python
Python如何根据时间序列数据作图
May 12 #Python
python logging.info在终端没输出的解决
May 12 #Python
你应该知道的Python3.6、3.7、3.8新特性小结
May 12 #Python
python将logging模块封装成单独模块并实现动态切换Level方式
May 12 #Python
Python PyQt5模块实现窗口GUI界面代码实例
May 12 #Python
从0到1使用python开发一个半自动答题小程序的实现
May 12 #Python
Python列表去重复项的N种方法(实例代码)
May 12 #Python
You might like
PHP正则删除HTML代码中宽高样式的方法
2017/06/12 PHP
jquery $.getJSON()跨域请求
2011/12/21 Javascript
jQuery级联操作绑定事件实例
2014/09/02 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
JavaScript的removeChild()函数用法详解
2015/12/27 Javascript
详解javascript实现瀑布流绝对式布局
2016/01/29 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
2016/07/01 Javascript
js实现前端分页页码管理
2017/01/06 Javascript
jQuery实现鼠标跟随效果
2017/02/20 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
详谈DOM简介及节点、属性、查找节点的方法
2017/11/16 Javascript
Ant Design Vue 添加区分中英文的长度校验功能
2020/01/21 Javascript
[04:00]DOTA2解说界神雕侠侣 CJ第四天谷子现场过生日
2013/07/30 DOTA
Python中的条件判断语句与循环语句用法小结
2016/03/21 Python
Python实现动态图解析、合成与倒放
2018/01/18 Python
python如何为被装饰的函数保留元数据
2018/03/21 Python
Python编程深度学习绘图库之matplotlib
2018/12/28 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
tensorflow之读取jpg图像长和宽实例
2020/06/18 Python
python中 _、__、__xx__()区别及使用场景
2020/06/30 Python
Python异常处理机制结构实例解析
2020/07/23 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
python更新数据库中某个字段的数据(方法详解)
2020/11/18 Python
五款漂亮的纯CSS3动画按钮的实例教程
2014/11/21 HTML / CSS
Html5插件教程之添加浏览器放大镜效果的商品橱窗
2016/01/07 HTML / CSS
世界上最好的帽子:Tilley
2016/11/27 全球购物
BNKR中国官网:带你感受澳洲领先潮流时尚
2018/08/21 全球购物
自荐信格式简述
2014/01/25 职场文书
艺术节主持词
2014/04/02 职场文书
求职信怎么写
2014/05/23 职场文书
学校交通安全责任书
2014/08/25 职场文书
聊一聊python常用的编程模块
2021/05/14 Python
Pytorch中使用ImageFolder读取数据集时忽略特定文件
2022/03/23 Python
使用CSS自定义属性实现骨架屏效果
2022/06/21 HTML / CSS