Python-Operation pdf (pdfplumber liest PDF und schreibt es in Excel)

1. Python betreibt PDF (pdfplumber liest PDF und schreibt es in Excel)

1.1 Installieren Sie die pdfplumber-Modulbibliothek:

安装pdfplumber: pip install pdfplumber
复制代码

pdfplumber.PDF-Klasse

Die Klasse pdfplumber.PDF stellt ein einzelnes PDF dar und verfügt über zwei Haupteigenschaften:

Attribute veranschaulichen
pdf.metadata Holen Sie sich ein Wörterbuch mit Metadaten-Schlüssel/Wert-Paaren aus der PDF-Datei „Info“. Enthält normalerweise „CreationDate“, „ModDater“, „Produzent“ usw.
pdf.pages Gibt eine Liste mit pdfplumber.Page-Instanzen zurück, wobei jede Instanz Informationen auf jeder Seite der PDF-Datei darstellt

pdfplumber. Seitenklasse

Allgemeine Eigenschaften der Klasse pdfplumber.Page

Attribut page_number veranschaulichen
.Seitennummer Fortlaufende Seitennummern, beginnend mit 1 für die erste Seite, beginnend mit 2 für die zweite Seite usw
.Breite Seitenbreite
.Höhe Seitenhöhe
.objects/ . chars/ .lines/ .rects/ . Kurven/ .Figuren/ . Bilder Jede dieser Eigenschaften ist eine Liste, und jede Liste enthält ein Wörterbuch für jedes dieser auf der Seite eingebetteten Objekte. Einzelheiten finden Sie weiter unten unter „Objekte“.

Gängige Methode

Methodenname veranschaulichen
.extract_ text( ) Es wird verwendet, um den Text auf der Seite zu extrahieren und alle Zeichenobjekte der Seite in der Zeichenfolge zu organisieren
.extract_words( ) Alle Wörter und die zugehörigen Informationen werden zurückgegeben
. extract_tables() Extrahieren Sie das Formular der Seite
.vorstellen() Gibt bei Verwendung zum visuellen Debuggen eine Instanz der Pageimage-Klasse zurück
.schließen() Standardmäßig speichert das Page-Objekt seine Layout- und Objektinformationen zwischen, um eine erneute Verarbeitung zu vermeiden. Beim Parsen großer PDF-Dateien können diese zwischengespeicherten Eigenschaften jedoch viel Speicher beanspruchen. Mit dieser Methode können Sie den Cache leeren und Speicher freigeben.

1.2 Gemeinsame Operationen

PDF ist die Abkürzung für Portable Document Format und dieser Dateityp wird normalerweise .pdfals Erweiterung verwendet. Bei der täglichen Entwicklungsarbeit sind die beiden Aufgaben, mit denen man am häufigsten konfrontiert wird, das Lesen von Textinhalten aus PDF und das Generieren von PDF-Dokumenten mit vorhandenen Inhalten.

1.读取pdf文档信息
2.输出总页数
3.读取第一页宽度、高度等信息
4.读取文本第一页
加载pdf
  pdfplumber.open( "路径/文件名. pdf".pas sword="test "laparams={ "line_ _overlap'”0.7 })
     password : 要加载受密码保护的PDF ,请传递password关键字参数
     laparams :要将布局分析参数设置为pdfminer. six的布局引擎,请传递laparams关键字参数
复制代码

1.2.1 Python liest PDF-Dateien

Die PDF-Datei lautet wie folgt

1.2.2 Python-Code zum Lesen von PDF-Dateien

import pdfplumber
# 加载pdf
path = "C:/Users/Administrator/Desktop/test08/test11 - 多页.pdf"
with pdfplumber.open(path) as pdf:
    print(pdf)
    print(type(pdf))
    # 读取pdf文档信息
    print("pdf文档信息:", pdf.metadata)
    # 输出总页数
    print("pdf文档总页数:", len(pdf.pages))
    # 1.读取第一页宽度、高度等信息
    first_page = pdf.pages[0]  # pdfplumber.Page对象第一页
    # 查看页码
    print('pdf页码:', first_page.page_number)
    # 查看页宽
    print('pdf页宽:', first_page.width)
    # 查看页高
    print('pdf页高:', first_page.height)
    # 2.读取文本第一页
    first_page = pdf.pages[0]  # pdfplumber.Page对象第一页
    text = first_page.extract_text()
    print(text)
复制代码
执行结果:
"D:\Program Files1\Python\python.exe" D:/Pycharm-work/pythonTest/打卡/0811读取pdf.py
<pdfplumber.pdf.PDF object at 0x0000000002846278>
<class 'pdfplumber.pdf.PDF'>
pdf文档信息: {'Author': '', 'Comments': '', 'Company': '', 'CreationDate': "D:20220812102327+02'23'", 'Creator': 'WPS 表格', 'Keywords': '', 'ModDate': "D:20220812102327+02'23'", 'Producer': '', 'SourceModified': "D:20220812102327+02'23'", 'Subject': '', 'Title': '', 'Trapped': 'False'}
pdf文档总页数: 2
pdf页码: 1
pdf页宽: 595.25
pdf页高: 841.85
姓名 年龄 性别 地址 学习技能
张三 20 女 北京 python
李四 25 男 深圳 java
赵五 28 男 上海 C++
孙六 23 女 广州 python
钱七 27 男 珠海 python
张101 20 女 北京 python
.......
.......
张150 27 男 珠海 python
张151 20 女 北京 python
张152 25 男 深圳 java
Process finished with exit code 0
复制代码

1.2.3 Python liest PDF-Dateien und speichert sie im Excel-Code

import pdfplumber
import xlwt
# 加载pdf
path = "C:/Users/Administrator/Desktop/test08/test11 - 多页.pdf"
with pdfplumber.open(path) as pdf:
    page_1 = pdf.pages[0]  # pdf第一页
    table_1 = page_1.extract_table()  # 读取表格数据
    print(table_1)
    # 1.创建Excel对象
    workbook = xlwt.Workbook(encoding='utf8')
    # 2.新建sheet表
    worksheet = workbook.add_sheet('Sheet1')
    # 3.自定义列名
    clo1 = table_1[0]
    # 4.将列表元组clo1写入sheet表单中的第一行
    for i in range(0, len(clo1)):
        worksheet.write(0, i, clo1[i])
    # 5.将数据写进sheet表单中
    for i in range(0, len(table_1[1:])):
        data = table_1[1:][i]
        for j in range(0, len(clo1)):
            worksheet.write(i + 1, j, data[j])
    # 保存Excel文件分两种
    workbook.save('test88.xls')
复制代码

Ergebnisse der:

Supongo que te gusta

Origin blog.csdn.net/weixin_73136678/article/details/128793909
Recomendado
Clasificación