时间:2021-05-22
我就废话不多说了,大家还是看代码吧!
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文件,用正则匹配数据方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Python中可以利用PyPDF2库来获取该pdf文件的总页码,可以根据下面的方法一步步进行下去:1、首先,要安装PyPDF2库,利用以下命令即可:pipins
图片版PDF无法复制,转化成文字版的PDF后使用更方便.我们需要用到python3.6,pypdf2,ghostscript,PythonMagick,百度文字
Python提供了众多的PDF支持库,本文是在Python3环境下,试用了两个库来完成PDF的生成的功能。PyPDF对于读取PDF支持较好,但是没找到生成多层P
作为抛砖引玉,用python3实现百度云语音解析,首先需要模拟Post请求把音频压缩文件丢给百度解析。但是遇到一个问题客户端怎麽丢数据都是返回错误,后来在本地用
1.首先安装PyPDF2库:pipinstallPyPDF22.然后保存下面文件(已带注释,具体实现请自己思考)importosimportPyPDF2#获取文