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

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

 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包的问题,重新导一遍也不能,配置文件检查过也不行,最后发现是类用错了。

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

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

(0)

相关推荐

  • Python实现PyPDF2处理PDF文件的方法示例

    实际应用中,可能会涉及处理 pdf 文件,PyPDF2 就是这样一个库,使用它可以轻松的处理 pdf 文件,它提供了读,割,合并,文件转换等多种操作. 文档地址:http://pythonhosted.org/PyPDF2/ PyPDF2 安装 PyCharm 安装:File -> Default Settings -> Project Interpreter PdfFileReader 构造方法: PyPDF2.PdfFileReader(stream,strict = True,warnd

  • Python利用PyPDF2库获取PDF文件总页码实例

    Python中可以利用PyPDF2库来获取该pdf文件的总页码,可以根据下面的方法一步步进行下去: 1.首先,要安装PyPDF2库,利用以下命令即可: pip install PyPDF2 2.接着,就是直接编写代码了,其中我新建了一个py文件,名为file_utils.py,代码如下: from PyPDF2 import PdfFileReader def get_num_pages(file_path): """ 获取文件总页码 :param file_path: 文件

  • PyPDF2读取PDF文件内容保存到本地TXT实例

    我就废话不多说了,大家还是直接看代码吧! from PyPDF2.pdf import PdfFileReader import pandas as pd def Pdf_to_txt(pdf): for i in range(0, pdf.getNumPages()): title = [] lin1, lin2, lin3, lin4, lin5, lin6, lin7, lin8 = [], [], [], [], [], [], [], [] extractedText = pdf.ge

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

    我就废话不多说了,大家还是看代码吧! 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

  • 十行Python3代码实现去除pdf文件水印

    目录 1.引言 2.代码实战 2.1去除原理 2.2代码解析 2.3代码整合 3.总结 1.引言 小屌丝:鱼哥,最近有点不像话了. 小鱼:嗯?? 啥个意思嘛~ 小屌丝:一周了,没分享小知识了. 小鱼:就因为这个?? 小屌丝:那是,我这么爱学习的人. 小鱼:怕是你有什么事情解决不了,想到我了吧? 小屌丝:呵 ~ 笑话 ~ 我 能有…什…么…事情… 小鱼:说吧, 小屌丝:这可是你让我说的,我可没主动要问的! 小鱼:说吧,咋还磨磨唧唧了呢 小屌丝:我在某站下载的pfd文档,有水印,如何去掉啊? 小鱼:

  • 用C#来解析PDF文件

    1. 介绍 这个项目让你可以去读取并解析一个PDF文件,并将其内部结构展示出来. PDF文件的格式标准文档可以从Adobe那儿获取到. 这个项目基于"PDF指南,第六版,Adobe便携文档格式1.7 2006年11月". 它是一个恐怕有1310页的大部头. 本文提供了对这份文档的简洁概述. 与此相关的项目定义了用来读取和解析PDF文件的C#类. 为了测试这些类,附带的测试程序PdfFileAnalyzer让你可以去读取一个PDF文件,分析它并展示和保存结果. 程序将PDF文件分割成单独

  • python使用pdfminer解析pdf文件的方法示例

    最近要做个从 pdf 文件中抽取文本内容的工具,大概查了一下 python 里可以使用 pdfminer 来实现.下面就看看怎样使用吧. PDFMiner是一个可以从PDF文档中提取信息的工具.与其他PDF相关的工具不同,它注重的完全是获取和分析文本数据.PDFMiner允许你获取某一页中文本的准确位置和一些诸如字体.行数的信息.它包括一个PDF转换器,可以把PDF文件转换成HTML等格式.它还有一个扩展的PDF解析器,可以用于除文本分析以外的其他用途. PDFMiner内置两个好用的工具:pd

  • Python3将jpg转为pdf文件的方法示例

    本文实例讲述了Python3将jpg转为pdf文件的方法.分享给大家供大家参考,具体如下: #coding=utf-8 #!/usr/bin/env python """ convert image to pdf file """ #Author: mrbeann import os import sys import glob import platform from reportlab.lib.pagesizes import letter,

  • python的​PyPDF2实现pdf文件切割和合并

    今天想使用pdf的切分软件实现pdf文件的切分,但是软件需要会员???好吧,,,,又要会员,这么简单的功能能难倒咱们程序员吗.俗话说自给自足丰衣足食,决定使用python自己切分文件. 在百度了一番后,发现大多都是使用 Adobe Acrobat 软件进行剪裁,这完全不 Pythonic,因此又找了用 Python 处理 PDF 文件的方法,最后发现了 PyPDF2 这个库,本文将利用这个库,实现对 PDF 的分割. 首先,你需要通过 pip 安装这个库: pip install PyPDF2

  • python解析json串与正则匹配对比方法

    现在有如下格式的json串: "detail_time":"2016-03-30 16:00:00","device_id":"123456","os":"Html5Wap","session_flow_id":"1d1819f3-8e19-4597-b50d-ba379adcd8e5","user_longitude":0.0

  • Python 3.6 中使用pdfminer解析pdf文件的实现

    所使用python环境为最新的3.6版本 一.安装pdfminer模块 安装anaconda后,直接可以通过pip安装 pip install pdfminer3k 如上图所示安装成功. 二.在IDE中进行编码 #!/usr/bin/env python # encoding: utf-8 """ @author: wugang @software: PyCharm @file: prase_pdf.py @time: 2017/3/3 0003 11:16 "&q

随机推荐