python辦公自動化——提取pdf中的文字和表格
阿新 • • 發佈:2020-12-12
python辦公自動化——提取pdf中的文字和表格
一、提取pdf中的文字
-
編碼流程:
- 1.匯入包:import pdfplumber
- 2.找到pdf路徑:pdf_path = ‘xxx.pdf’
- 3.開啟pdf :pdf = pdfplumber.open(pdf_path)
- 4.獲取頁面
- 獲取某一頁:parse_page = pdf.pages[n]
- 獲取所有頁面:parse_page = pdf.pages
- 5.獲取所有頁面的文字:parse_page.extract_text()
- 6.儲存文字:with open("./儲存路徑.txt",‘a’,encoding = ‘utf-8’) as f:
-
程式碼:
- 獲取某個頁面
import pdfplumber
pdf_path = './XXX預算.pdf'
pdf = pdfplumber.open(pdf_path)
with open("./提取pdf文字.txt", 'a', encoding='utf-8') as f:
parse_page = pdf.pages[0]#提取第一頁文字
text = parse_page.extract_text()
f.write(text+'\n')
- 獲取所有頁面
import pdfplumber
pdf_path = './XXX預算.pdf'
pdf = pdfplumber.open(pdf_path)
with open("./提取pdf文字.txt", 'a', encoding='utf-8') as f:
for page in pdf.pages:
text = page.extract_text()
f.write(text+'\n')
二、獲取pdf中的所有表格
- 1.匯入包:import xlwt , import pdfplumber
- 2.定義儲存Excel的路徑:workbook = xlwt.Workbook()
- 3.新建一個工作表存放表格:sheet = workbook.addsheet(“XXX”)
- 4.找到pdf路徑:pdf_path = “./XXX.pdf”
- 5.開啟pdf檔案:pdf = pdfplumber.open(pdf_path)
- 6.for迴圈
- 6-1 獲取網頁中的所有資訊,包括表格
- for page in pdf.pages
- 6-2 獲取頁面中的所有表格
- for table in page.extract_tables()
- 6-3 獲取表格中的每一行
- for row in table
- 6-4 獲取每一行中的每一列
- for j in range(len(row))
- 6-1 獲取網頁中的所有資訊,包括表格
- 7.寫入sheet中:sheet.write(i,j,row[j])
- 8.關閉pdf:pdf.close()
- 9.儲存EXCEL表格:workbook.save("./XXX.xls")
import xlwt
import pdfplumber
#定義儲存Excel的位置
workbook = xlwt.Workbook()
sheet = workbook.add_sheet("XXX摘要表格")
pdf_path = './XXX.pdf'
pdf = pdfplumber.open(pdf_path)
i = 0
for page in pdf.pages:#獲取頁面中的所有資訊
for table in page.extract_tables():#獲取頁面的所有表格
for row in table:#遍歷表格中的每一行
print(row)
for j in range(len(row)):
sheet.write(i, j, row[j])
i = i + 1
pdf.close()
workbook.save("./XXX摘要表格.xls")
print('\n')
print('寫入成功!!!')