Ich möchte eine tägliche Aufgabe automatisieren und benötige bestimmte Informationen aus PDF, um in bestimmte Bereiche einer Excel-Datei zu gelangen

Ich arbeite in einem Startup und möchte eine meiner täglichen Aufgaben automatisieren.

Derzeit erhalten wir Bestellungen von 3 verschiedenen Händlern im PDF- oder Webseitenformat, und ich muss einige der Informationen aus diesen PDF-/Webseitenbestellungen nehmen und sie an bestimmten Stellen in eine Excel-Datei einfügen. Ich bin derzeit dabei, dies zu tun, aber ich kopiere und füge sie ein Ich hoffe, einen Weg zu finden, dies vielleicht mithilfe von Skripten zu automatisieren.

Ich habe etwas Webentwicklungs- und JavaScript-Erfahrung, also bin ich in Ordnung, wenn dies etwas Codierung auf meiner Seite beinhaltet, um dies zu erreichen, aber ich dachte, ich würde einige Ratschläge zu Wegen bekommen, die ich ausprobieren könnte, da ich so etwas noch nie versucht habe oder wissen Sie, ob es eine relativ preiswerte Software (100 bis 1000 US-Dollar) gibt, die so etwas bereits tut?

Gibt es etwas, das ich wissen sollte, wenn ich mit der Recherche beginne, wie man dies erreichen kann, irgendwelche Wege, die Sie vorschlagen würden, wie ich das Problem am effizientesten und einfachsten löse?

Jede Information wäre sehr willkommen!

Sprechen Sie speziell von PDF-Formulardaten und nicht von PDF-Scans?
Es sind normale PDF-Dateien, also vermute ich, dass es sich nur um Scans handelt.
Richten Sie die Webseite so ein, dass sie PHP oder jQuery verwendet, um die Daten direkt in einer Datenbank zu speichern. Verbinden Sie sich dann über odbc mit der Datenbank in Excel. Das löst nur 1 Problem.

Antworten (1)

Problemstellung

Grundsätzlich löst sich Ihr Problemraum in 3, möglicherweise 4, Schritten auf:

  1. Erhalt der Bestellung - Ich vermute, dies könnte eine E-Mail sein.
  2. Extrahieren der richtigen Daten aus dem PDF , wenn es in diesem Format vorliegt
  3. Extrahieren der korrekten Daten aus einem Webseitenformat, wenn das so ist
  4. Einfügen der extrahierten Daten in das Excel-Arbeitsblatt

Die Tools, die ich verwenden würde, um dies in der Python -Welt durchzuarbeiten.

Abrufen der "Order"-Dateien

Da Sie nicht angeben, wie Sie die Bestellungen erhalten, gehe ich davon aus, dass sie per E-Mail kommen. Python verfügt über eine Reihe von E-Mail-Clients, einschließlich eines integrierten E- Mail -Moduls. Beispiele für die Interaktion mit Mail-Servern gibt es zuhauf. Da Sie die Daten jedoch offensichtlich irgendwie erhalten, überlasse ich die Frage, wie Sie dies automatisieren können, einer anderen Frage.

Auszug aus PDF

Innerhalb des Python - Ökosystems gibt es eine Reihe von PDF-Manipulationstools, aber wahrscheinlich am besten geeignet ist PDFMiner.Six , das sich auf die Textextraktion einschließlich der genauen Position von Texten auf einer Seite spezialisiert hat. Ein Beispiel für die Verwendung von PDFMiner finden Sie hier auf SO .

Auszug aus der Webseite, (HTML)

Nahezu jeder in der Python-Welt, der HTML-Daten analysieren muss, wendet sich an BeautifulSoup4 , das nahezu jede Webseite (sogar schlecht formatierte) analysieren kann, um die Daten zu extrahieren. Vermutlich befinden sich die Daten, die Sie extrahieren müssen, in benannten Feldern auf der Seite - wenn ja, werden Sie feststellen, dass sie einfach zu extrahieren sind.

In Excel einfügen

Je nachdem, ob Sie Excel 2010 XLSX- Dateien oder Excel 97/2000/XP/2003-kompatible XLS - Dateien benötigen, finden Sie die Tools, die Sie zum Erstellen und Bearbeiten von Excel-Dateien benötigen, entweder in openpyxl oder, für das ältere Dateiformat, XLWT / XLRD / XLUTIL .

Eines der netten Dinge an diesen ist, dass sie keine Kopie von Excel benötigen, um den Inhalt von Excel-Dateien zu erstellen oder zu manipulieren.

Preis & Verfügbarkeit

Alle oben genannten Tools sind kostenlos, kostenlos und Open Source und plattformübergreifend, sodass sie auf fast allem installiert werden können, von einem Raspberry Pi bis zu einem Supercomputer-Cluster, sogar unter MS Windows.