1. 程式人生 > 其它 >python辦公自動化——提取pdf中的文字和表格

python辦公自動化——提取pdf中的文字和表格

技術標籤:python爬蟲python

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:
      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:
     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))
  • 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('寫入成功!!!')