Teoria e pratica > Progetti e script

Estrazione csv da pdf

(1/1)

marioma86:
Salve ragazzi, vorrei estrarre del testo da un pdf e creare un csv; visto che il file avrà sempre lo stesso template, vorrei riuscire ad estrarre sempre e solo alcune colonne.
Utilizzando pdftotext con ho buttato giù il seguente codice che mi permetta di estrarre solo una parte del documento, ma purtroppo il risultato sul csv è scadente (come da file allegato):

import pdftotext
import re
import csv


with open('18567.pdf', 'rb') as pdf_file:
    pdf = pdftotext.PDF(pdf_file)

lines = pdf[0].replace(' ', '@').split('\n')[20:23]

table=[]

for line in lines:
    row = re.sub('@+',';', line)
    table.append(row)
    print(row)

with open('prova2pdf.csv', 'w') as csv_file:
    writer = csv.writer(csv_file)
    writer.writerows(table)

--- Termina codice ---


Qualcuno di voi saprebbe aiutarmi a risolvere questo problema?

Grazie in anticipo

marioma86:
Purtroppo non riesco ad allegare i file di esempio che ho utilizzato...

nuzzopippo:
Ciao

Non conosco la libreria pdftotext ma in ambiente linux (che uso) vi è proprio il comando "pdftotext" ... che evito di usare ed utilizzo script e vari tools per manipolare i pdf, il pdftotext linux è, diciamo, "spartano", se la lib è qualcosa di analogo strada non è che se ne faccia.

Comunque, segnalo che i pdf possono essere affrontati con diversi tools in python, segnalo pdfminer ed in ogni caso, non riesci a trovare in internet un pdf più o meno analogo a ciò che affronti da utilizzare per poterci ragionare su?
Se lo trovi mettici un link e descrivi (bene) il risultato che vuoi ottenere (un "csv" dice ben poco), magari ci si prova e ragiona su.

Ciao

Navigazione

[0] Indice dei post

Vai alla versione completa