使用python讀取當前以pdf結尾的文件並保存到excel文件里面
#!pip install PyMuPDF 調用fitz所需要使用的模塊
import fitz
import openpyxl
import os
class Electronic:
def __init__(self,pdf_document,workbook,exsave):
self.LIST1 = []
self.LIST2 = []
self.pdf_document = pdf_document
self.workbook = workbook
self.exsave = exsave
self.wb = openpyxl.Workbook()
def invoice(self):
"""
讀取數據
"""
doc = fitz.open(pdf_document)
page1 = doc.loadPage(0)
#讀取excel里面的文本信息
self.LIST1.append(page1.getText("text"))
#切割回車符
LL = self.LIST1[0].split('\n')
#將讀取的數據放入L2列表
self.LIST2.append(LL[75])
self.LIST2.append(LL[76])
self.LIST2.append(LL[77])
self.LIST2.append(LL[70])
#分隔空格后取出數值
self.LIST2.append(LL[79].split(' ')[1])
return self.LIST2
def pyexcel(self):
"""
插入數據
"""
self.wb = openpyxl.load_workbook(self.workbook)
#讀取第一個單元薄
sh = self.wb['Sheet1']
#插入數據
sh.append(self.LIST2)
def save(self):
"""
保存數據
"""
self.wb.save(self.exsave)
# 關閉工作薄
self.wb.close()
if __name__ == '__main__':
workbook = '讀取信息.xlsx'
exsave = '讀取信息.xlsx'
#讀取目錄
path = os.getcwd()
#讀取當前目錄底下的文件
dir_file = os.listdir(path)
for i in dir_file:
#切割文件里面包含pdf結尾的文件
ii = i.endswith('.pdf')
if ii:
pdf_document = i
w = Electronic(pdf_document,workbook,exsave)
w.invoice()
w.pyexcel()
w.save()
#讀取后的結果