Extrahieren bestimmter Daten aus .pdf und speichern Sie Sie in Excel-Datei

Jeden Monat muss ich daraus einige Daten aus .pdf-Dateien erstellen einer Excel-Tabelle.

Ich bin in der Lage, zu konvertieren .pdf-Datei in text, aber ich bin mir nicht sicher, wie Sie Sie zu extrahieren und speichern Sie die spezifischen Informationen, die ich will. Nun habe ich diesen code:

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

def convert_pdf_to_txt(path):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
    fp = file(path, 'rb')
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    password = ""
    maxpages = 0
    caching = True
    pagenos=set()
    fstr = ''
    for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages,    password=password,caching=caching, check_extractable=True):
        interpreter.process_page(page)

        str = retstr.getvalue()
        fstr += str

    fp.close()
    device.close()
    retstr.close()
    return fstr

print convert_pdf_to_txt("FA20150518.pdf")

Und das ist das Ergebnis:

    >>> 
AVILA 72, VALLDOREIX
08197 SANT CUGAT DEL VALLES
(BARCELONA)
TELF: 935441851
NIF: B65512725
EMAIL: buendialogistica@gmail.com

JOSE LUIS MARTINEZ LOPEZ

AVDA. DEL ESLA, 33-D
24240 SANTA MARIA DEL PARAMO
LEON
TELF: 600871170

FECHA
17/06/15

FACTURA
  20150518

CLIENTE
43000335

N.I.F.

71548163 B

PÁG.

1

Nº VIAJE

RUTA

DESTINATARIO / REFERENCIA

KG

BULTOS

IMPORTE

2015064210-08/06/15

CERDANYOLA DEL VALLES -> VINAROS

FERRER ALIMENTACION - VINAROZ

2,000.0

1

         150,00

TOTAL IMP.

%

IMPORTE

BASE

         150,00

         150,00

%
 21,00

IVA

%

REC.

TOTAL FRA.

(€)

          31,50

         181,50

Eur

Forma Pago:
Banco:

CONTADO

Vencimientos:
17/06/15
181,50

Ok, jetzt habe ich den text in die variable convert_pdf_to_txt.

Möchte ich extrahieren dieser Informationen: Kunden, die Nummer der Rechnung, Preis, Ablaufdatum und die Art und Weise zu bezahlen.

Name des Kunden immer nach unten "E-MAIL: [email protected]"

Anzahl der bill immer down sind "FACTURA"

Preis immer unten sind zwei Zeilen "Vencimientos:"

Ablauf Datum immer unten sind "Vencimientos:"

Bezahlen immer nach unten "Banco:"

Ich denke, in so etwas wie dies tun. Wenn ich konvertieren kann dieser text in eine Liste und kann so etwas tun:

Suche Kunde:

 i=0
 while i < lengthlist
   if listitem[i] == "EMAIL: [email protected]"
      i+1
      Customer = listitem[i]
      i = lengthlist
   else:
     i+1

Suche bill-Nummer:

 i=0
 while i < lengthlist
   if listitem[i] == "FACTURA"
      i+1
      Customer = listitem[i]
      i = lengthlist
   else:
     i+1

Nachdem ich nicht weiß, wie speichern in Excel, aber ich bin mir sicher, dass ich finden kann, Beispiele im forum, aber zuerst muss ich die entpacken nur diese Daten.

InformationsquelleAutor Xavier Villafaina | 2015-11-25

Schreibe einen Kommentar