[Python] Konvertiert PDF-Text für jede Seite in CSV (2/24 Postscript)

Referenz: Japanischen Text mit PDFMiner aus PDF extrahieren

Dies ist fast die Methode. Ich habe nichts Interessantes gemacht.

Was zu verwenden

Eine Bibliothek namens PDFMiner. Es ist ein Schuss mit Pip.

pip install pdfminer.six

Auf der Referenzseite gab es Japanisch, aber selbst wenn ich es mit pip einfügte, wurde Japanisch richtig erkannt.

Tsukuru CSV

Die Daten zum CSV-Erstellungsdatum sind in der Spalte "Aktualisierungsdatum" enthalten. -PDF-Textdaten sind in der Spalte "Satz" enthalten -Die Seitenzahl der PDF wird in die Spalte "Seitenzahl" eingetragen.

Was wurde gemacht

Dies ist die Quelle der 90% -Referenzseite.

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO

import csv,re,datetime
import pandas as pd

class converter(object):
  def pdf_to_csv(self,p_d_f):
    df = pd.DataFrame(columns=["Datum und Uhrzeit aktualisieren","Satz","Seitennummer"])
  
    #PDF-Textextraktion von hier
    cnt = 1
    space = re.compile("[  ]+")
    fp = open(p_d_f, 'rb')
        
    for page in PDFPage.get_pages(fp):
      #Sequentielle Initialisierung
      rsrcmgr = PDFResourceManager()
      outfp = StringIO()
      codec = 'utf-8'
      laparams = LAParams()
      laparams.detect_vertical = True
      device = TextConverter(rsrcmgr, outfp, codec=codec, laparams=laparams)
      interpreter = PDFPageInterpreter(rsrcmgr, device)
            
      interpreter.process_page(page)
      text = re.sub(space, "", outfp.getvalue())

      df.loc[cnt,["Satz","Seitennummer"]] = [text,cnt]
      cnt += 1
            
    outfp.close()
    fp.close()
    device.close()
         
    now = datetime.datetime.now()
    df["Datum und Uhrzeit aktualisieren"] = now

    csv_path = p_d_f.replace('.pdf', '.csv')
    df.to_csv(csv_path, encoding='CP932', index=False)

if __name__ == "__main__":
       
  p_d_f = "Irgendwie.pdf"
  con=converter()
  hoge=con.pdf_to_csv(p_d_f)

Der Unterschied zur Referenzsite besteht darin, dass das Feld (outfp), in dem die aus der PDF-Datei extrahierten Textdaten gespeichert sind, an der Stelle initialisiert wird, an der sie in den Datenrahmen eingefügt werden. Wenn es so bleibt, werden die Textdaten aller Seiten immer mehr hinzugefügt. Wenn Sie es in einen Datenrahmen einfügen, ist es dieser, also frage ich mich, ob Sie schnell kleine Spalten hinzufügen können.

Es kann sein, dass es einfach ist, dass die CSV-Konvertierung nicht auf einmal erfasst wurde, selbst wenn ich gesucht habe, sondern um Notizen zu schreiben.

2/24 Nachschrift

Fortsetzung aus irgendeinem Grund

Recommended Posts

[Python] Konvertiert PDF-Text für jede Seite in CSV (2/24 Postscript)
[Python] Fortsetzung - Konvertieren Sie PDF-Text Seite für Seite in CSV
Konvertieren Sie Markdown in Python in PDF
[Python] Konvertieren Sie CSV-Dateibegrenzer in Tabulatortrennzeichen
Konvertieren Sie mit pdfplumber von PDF in CSV
Konvertieren Sie an E-Mails angehängte PDF-Dateien in das Textformat
[Good By Excel] Python-Skript zum Generieren von SQL zum Konvertieren von CSV in Tabelle
Ich möchte eine in Python in PDF konvertierte Tabelle wieder in CSV konvertieren
Konvertieren Sie PDF in Bilder (JPEG / PNG) mit Python
[Python] Konvertieren von DICOM in PNG oder CSV
Konvertieren Sie das Bild in .zip mit Python in PDF
So konvertieren Sie eine JSON-Datei mit Python Pandas in eine CSV-Datei
So fügen Sie einer PDF-Datei Seitenzahlen hinzu (in Python)
So speichern Sie eine von Python gekratzte Tabelle in CSV
[Python] Datum in Zeichenfolge konvertieren
Konvertieren Sie numpy int64 in python int
[Python] Liste in Pandas konvertieren [Pandas]
Konvertieren Sie HTML in eine Textdatei
Konvertieren Sie das Scratch-Projekt in Python
[Python] Konvertieren Sie Shift_JIS in UTF-8
Sprechen mit Python [Text zu Sprache]
Schreiben Sie mit Python in csv
Konvertieren Sie SDF schnell in CSV
Konvertieren Sie Python 3.x-Code in Python 2.x.
Konvertieren Sie eine Excel-Datei für verschiedene Zwecke in Python in Text
Schließen Sie sich csv an, das von Python-Pandas normalisiert wurde, um die Überprüfung zu vereinfachen
[Python] Mit Python in eine CSV-Datei schreiben
Konvertieren Sie A4 PDF alle 2 Seiten in A3
Konvertieren Sie in Python usw. geschriebene Dateien in PDF mit Syntax-Hervorhebung
Konvertieren Sie die Liste mit Python in DataFrame
Konvertieren Sie nach dem Aufrufen der Shell-Datei unter Python CSV in Parkett.
Konvertieren Sie das PDF der Händlerliste der Go To Eat Hokkaido-Kampagne in CSV
Python> Liste> Doppelte Liste in einfache Liste konvertieren
Konvertierung von pdf nach txt 2 [pyocr]
Konvertieren Sie eine große Anzahl von PDF-Dateien mit pdfminer in Textdateien
[Python] Konvertiert natürliche Zahlen in Ordnungszahlen
Konvertieren Sie die Dezimalzahl in n-ary [Python]
Konvertieren Sie PDF in Image mit ImageMagick
Python> Tupel> Konvertiert doppeltes Tupel in einzelnes Tupel
In der XML-Datenbank (BaseX) gespeichertes XML-Dokument in das CSV-Format konvertieren (mit Python)
Konvertieren Sie das PDF der Go To EAT-Mitgliedergeschäftsliste in der Präfektur Kumamoto in CSV
Lesen Sie die CSV-Datei mit Python und konvertieren Sie sie unverändert in DataFrame
Konvertieren Sie PDF-Dateien von Go To EAT-Mitgliedsgeschäften in der Präfektur Ishikawa in CSV
Konvertieren Sie das PDF des neuen Corona-Ausbruchs in der Präfektur Aichi in CSV
Vorverarbeitung mit Python. Konvertieren Sie die Tag-Suchergebnisse von Nico Nico-Videos in das CSV-Format
Englische Spracherkennung mit Python [Rede zu Text]
Konvertieren Sie Memos sofort mit Python 2to3
Wiedereinführung in Python-Dekoratoren ~ Lernen wir Dekoratoren nach Typ ~
Konvertieren Sie Python> Zwei-Wert-Sequenz in Wörterbuch
Antwort auf AtCoder Beginners Selection von Python3
[Python] So konvertieren Sie eine zweidimensionale Liste in eine eindimensionale Liste
So konvertieren Sie csv in tsv in CLI
So konvertieren Sie Python in eine exe-Datei
Konvertiere Hiragana mit Python (Beta) in Romaji
Konvertieren Sie von Katakana zu Vokal Kana [Python]
Funktion zum Speichern von Bildern nach Datum [python3]
Python> Tupel in Liste konvertieren> aList = Liste (pi_tuple)
Lesen Sie Python csv und exportieren Sie es nach txt