[PYTHON] Konvertieren Sie eine große Anzahl von PDF-Dateien mit pdfminer in Textdateien

Heutiges Menü

Ich möchte [große Anzahl englischer PDF-Dateien] lesen (https://github.com/songrotek/Deep-Learning-Papers-Reading-Roadmap), aber ich verstehe englische Wörter überhaupt nicht. Konvertieren Sie zunächst die PDF-Datei in eine Textdatei, listen Sie die Wörter auf und merken Sie sich die häufig verwendeten Wörter in der Reihenfolge von oben. Ich bin sicher, Sie können es schneller lesen! Ich beschloss zu glauben.

Deshalb habe ich beschlossen, viele englische PDF-Dateien in einen Topf zu legen, sie zu kochen und in Textdateien umzuwandeln. Ich habe Lust, eine große Menge Soba für das Bowl-Soba-Turnier zu kochen.

Kochtischumgebung

macOS Python3.6 anaconda

Nahrungsmittel

Eine große Anzahl von PDF-Dateien, die schwer zu verdauen sind

Geschirr

pdfminer ← Überprüfen Sie die Referenz-URL am Ende der Installationsmethode os re

Es scheint, dass pdfminer bessere Ergebnisse liefert als PyPDF2.

Was als Kochfehler zu erwarten ist

Bitte beachten Sie, dass es (wahrscheinlich) nicht japanischen Sätzen entspricht.

Der heutige Topf

PdfToTextConverter.py


#! python3
# PdfToTextConverter.py
#Lesen Sie den Inhalt einer PDF-Datei und geben Sie sie als Textdatei aus

import os
import re
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

pdf_folder_path = os.getcwd()			                #Rufen Sie den Pfad des aktuellen Ordners ab
text_folder_path = os.getcwd() + '/' + 'text_folder'		#Die Notation des Pfades ist die Mac-Spezifikation. Für Windows,'/'Zu'\'Richtig zu.

os.makedirs(text_folder_path, exist_ok=True)
pdf_file_name = os.listdir(pdf_folder_path)

#Name ist eine PDF-Datei (endet.pdf) gibt TRUE zurück, andernfalls wird FALSE zurückgegeben.
#Dieser Beitrag wurde zitiert und teilweise geändert → http://qiita.com/korkewriya/items/72de38fc506ab37b4f2d
def pdf_checker(name):
	pdf_regex = re.compile(r'.+\.pdf')
	if pdf_regex.search(str(name)):
		return True
	else:
		return False

#PDF in Textdatei konvertieren
def convert_pdf_to_txt(path, txtname, buf=True):
    rsrcmgr = PDFResourceManager()
    if buf:
        outfp = StringIO()
    else:
        outfp = file(txtname, 'w')
    codec = 'utf-8'
    laparams = LAParams()
    laparams.detect_vertical = True
    device = TextConverter(rsrcmgr, outfp, codec=codec, laparams=laparams)

    fp = open(path, 'rb')
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    for page in PDFPage.get_pages(fp):
        interpreter.process_page(page)
    fp.close()
    device.close()
    if buf:
        text = outfp.getvalue()
        make_new_text_file = open(text_folder_path + '/' + path + '.txt', 'w')
        make_new_text_file.write(text)
        make_new_text_file.close()
    outfp.close()

#Holen Sie sich den Namen der PDF-Datei in den Ordner und listen Sie ihn auf
for name in pdf_file_name:
	if pdf_checker(name):
		convert_pdf_to_txt(name, name + '.txt')		# pdf_Verwenden Sie checker und TRUE (endet.Für pdf) weiter zur Konvertierung)
	else:
		pass									    #Übergeben Sie, wenn nicht eine PDF-Datei
	
	

Fertiges Produkt

Eine große Anzahl von Textdateien, die wahrscheinlich Magenverstimmung verursachen

Nächstes Kochen

Verschieben Sie eine große Anzahl von Textdateien in eine Schüssel und extrahieren Sie etwa 500 häufig verwendete Wörter. Denken Sie an die Bedeutung des Wortes (es ist nicht bekannt, ob es zum schnellen Lesen englischer Sätze geeignet ist).

Referenzen, Referenz-URL

http://qiita.com/korkewriya/items/72de38fc506ab37b4f2d → Der Teil, der eine PDF-Datei in eine Textdatei konvertiert, wird aus diesem Artikel zitiert (teilweise geändert).

https://kusanohitoshi.blogspot.jp/2017/01/python3cstringiostringio.html → Informationen zum Umgang mit StringIO-Importfehlern finden Sie hier.

"Lass Python die langweiligen Dinge machen" → Verwendung des OS-Moduls

http://www.unixuser.org/%7Eeuske/python/pdfminer/index.html → pdfminer Seite

https://github.com/conda-forge/pdfminer-feedstock https://conda-forge.org/feedstocks → Informationen zum Installationsverfahren von pdfminer in der Anaconda-Umgebung finden Sie hier.

Recommended Posts

Konvertieren Sie eine große Anzahl von PDF-Dateien mit pdfminer in Textdateien
Laden Sie eine große Anzahl von Bildern in Wordpress hoch
Organisieren Sie eine große Anzahl von Dateien in Ordnern
Einzeiler, der unter Linux eine große Anzahl von Testdateien gleichzeitig erstellt
Konvertieren Sie A4 PDF alle 2 Seiten in A3
TensorFlow Aus einer großen Anzahl von Bildern lernen ... ~ (fast) Lösung ~
Verbinde eine große Anzahl von Videos miteinander!
Konvertieren Sie an E-Mails angehängte PDF-Dateien in das Textformat
Konvertieren Sie PDF-Dateien mit GIMP in PNG-Dateien
Verwenden Sie shutil, um alle Ordner mit einer kleinen Anzahl von Dateien zu löschen
ETL-Verarbeitung für eine große Anzahl von GTFS-Echtzeitdateien (Python Edition)
TensorFlow Aus einer großen Anzahl von Bildern lernen ... (ungelöstes Problem) → 12/18 Gelöst
Konvertieren Sie Daten mit Form (Anzahl der Daten, 1) in (Anzahl der Daten,) mit numpy.
Konvertieren Sie die "Anzahl" des Excel-Datums in die Python-Datumszeit
Konvertieren Sie Sprache mit dem Azure Speech SDK in Text
Konvertieren Sie mehrere JPG-Dateien in eine PDF-Datei
Stapelkonvertierung von PSD-Dateien im Verzeichnis in PDF
Wählen Sie PDFMiner, um Textinformationen aus PDF zu extrahieren
Erstellen Sie eine Web-App, die PDF mit Flask und PyPDF2 in Text konvertiert
Beschleunigen Sie eine große Anzahl einfacher Abfragen in MySQL
Anfänger versuchen, Word-Dateien sofort in PDF zu konvertieren
Konvertieren Sie das Slice-Objekt in eine Liste mit Indexnummern
Konvertieren Sie eine Textdatei mit hexadezimalen Werten in eine Binärdatei
Konsolidieren Sie eine große Anzahl von CSV-Dateien in Ordnern mit Python (Daten ohne Header).
Sortieren Sie große Textdateien
Ein Tool zum Verfolgen von Postern mit einer großen Anzahl von Likes auf Instagram [25 Minuten bis 1 Sekunde]
Lesen Sie eine große Anzahl von Wertpapierberichten mit COTOHA
Verwenden Sie die API, um gemeinsam eine große Anzahl ungelesener E-Mails in Google Mail zum Lesen zu ändern
[Python] Generieren Sie zufällig eine große Anzahl englischer Personennamen
[Befehl] Befehl zum Abrufen einer Liste von Dateien mit Zeichen voller Breite
Stapelkonvertierung von in MS Forms / Google Forms hochgeladenen Bilddateien in PDF
Scrapy-Redis wird zum Crawlen einer großen Anzahl von Domänen empfohlen
Ich habe mit PyQt einen einfachen Texteditor erstellt
Skript zum Konvertieren zwischen Xcode-Sprachdateien und tabulatorgetrenntem Text
Konvertieren Sie HTML in eine Textdatei
Ein Memorandum zur Verwendung von eigen3
So zeigen Sie eine bestimmte Dateispalte unter Linux an (awk)
Sphinx-Erweiterung zur willkürlichen Konvertierung von Text in der Vorverarbeitung der Dokumentgenerierung
Das Ausführen einer großen Anzahl von Python3 Executor.submit verbraucht möglicherweise viel Speicher.
Ich habe versucht, mit Pandas eine Pferderenn-Datenbank zu erstellen
Python: Einführung in Flask: Erstellen einer Nummernidentifizierungs-App mit MNIST
Konvertieren Sie in Python usw. geschriebene Dateien in PDF mit Syntax-Hervorhebung
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Zeit" zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
Konvertieren Sie das PDF der Händlerliste der Go To Eat Hokkaido-Kampagne in CSV
Ich habe versucht, mit Boto3 eine Liste der AMI-Namen zu erhalten
So speichern Sie einen Teil eines langen Videos mit OpenCV
Geben Sie die Ergebnisse der Nachsuche mithilfe der Mattermost-API in eine Datei aus
Wie erstelle ich eine große Menge an Testdaten in MySQL? ??
Erstellen Sie ein Befehlszeilenprogramm, um mit Python Dollar in Yen umzurechnen
[TensorFlow 2.x-kompatible Version] So trainieren Sie eine große Datenmenge mit TFRecord & DataSet in TensorFlow (Keras)
Ich möchte das Problem des Speicherverlusts bei der Ausgabe einer großen Anzahl von Bildern mit Matplotlib lösen
Funktion zum Konvertieren von Excel-Spalten in Zahlen
Konvertieren Sie Markdown in Python in PDF
Konvertierung von pdf nach txt 1 [pdfminer]
Memorandum of files unter conf.d.