亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python3用PyPDF2解析pdf文件,用正則匹配數(shù)據(jù)方式

 更新時間:2020年05月12日 14:39:43   作者:零度愿望  
這篇文章主要介紹了python3用PyPDF2解析pdf文件,用正則匹配數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,大家還是看代碼吧!

 import PyPDF2
 import re
 
 pdf_file = open('xxx.pdf', mode='rb')
 read_pdf = PyPDF2.PdfFileReader(pdf_file)
 # 獲取pdf文件的所有頁數(shù)
 number_of_pages = read_pdf.getNumPages()
 # print('total_page: ', number_of_pages)
 line_list = []
 # 循環(huán)遍歷每一頁
 for i in range(0, number_of_pages):
  # 讀取每一頁的內(nèi)容
  page = read_pdf.getPage(i)
  page_content = page.extractText()
  # 將這一頁的內(nèi)容分割為列表,,并相加所有的頁面內(nèi)容
  line_list += page_content.split()
 # 關(guān)閉pdf文件
 pdf_file.close()
 line_buf = ''
 for buf in line_list:
  line_buf = line_buf+' '+buf
 # 匹配數(shù)據(jù):第一列和第二列 如: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()

補(bǔ)充知識:Logger logger = Logger.getLogger(Class clazz)獲取不得的問題

因?yàn)橛卸鄠€同名的Logger類,在測試的時候沒注意就直接選了第一個,發(fā)現(xiàn)不能用,以為是JAR包的問題,重新導(dǎo)一遍也不能,配置文件檢查過也不行,最后發(fā)現(xiàn)是類用錯了。

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

以上這篇python3用PyPDF2解析pdf文件,用正則匹配數(shù)據(jù)方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論