Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Topics - marioma86

Pagine: [1]
1
Tkinter / Associare comando di creazione csv in GUI
« il: Marzo 30, 2021, 21:32 »
Buonasera a tutti, con il supporto del forum sono riuscito a scrivere un programma che mi permette di creare un file csv a partire da un pdf:
import pdftotext
import csv


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

lines = pdf[0].splitlines()[20:23]

table = []

for line in lines:
    table.append(line.split())

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


A questo punto vorrei implementare un programma che mi permetta, attraverso un'interfaccia grafica, di selezionare il pdf e poi creare il csv; di seguito il codice che ho scritto ma che purtroppo genera errori:


from tkinter import *
import tkinter.messagebox
import tkinter.filedialog

def apri_esplora():
        open_file = tkinter.filedialog.askopenfile()


def crea_csv():
        import pdftotext
        import csv
        with open(open_file, 'rb') as pdf_file:
                pdf = pdftotext.PDF(open_file)
                lines = pdf[0].splitlines()[20:23]
        table = []
        for line in lines:
            table.append(line.split())

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

def chiudi_programma():
    ris = tkinter.messagebox.askyesno("Uscita","Sei sicuro di chiudere il programma?")
    if ris == True:
        finestra.destroy()

#Creazione finestra
finestra = Tk()
finestra.geometry("500x300")
finestra.title("Esplora risorse!")


#creazione menu
barra_dei_menu = Menu(finestra) #barra dei menu che appartiene alla finestra
menu_opzioni = Menu(barra_dei_menu,tearoff=0) #creo un menu che appartiene alla barra creata primac
barra_dei_menu.add_cascade(label="File",menu=menu_opzioni) #il menu che fa parte della barra dei menu è a tendina
#aggiungo i comandi con le etichette del menu
menu_opzioni.add_command(label="Apri esplora risorse",command=apri_esplora)
menu_opzioni.add_command(label="Crea csv",command=crea_csv)
menu_opzioni.add_command(label="Esci",command=chiudi_programma)

finestra.config(menu=barra_dei_menu) #configuriamo il menu come menu della finestra


finestra.mainloop()


Qualcuno di voi riesce ad aiutarmi?
Grazie in anticipo

2
Progetti e script / Estrazione csv da pdf
« il: Marzo 04, 2021, 23:02 »
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)


Qualcuno di voi saprebbe aiutarmi a risolvere questo problema?

Grazie in anticipo

3
Buonasera a tutti...
Sono nuovo sul forum e volevo chiedervi gentilmente supporto su una procedura che vorrei mettere in atto in azienda.
Al fine di eliminare l'inserimento manuale dei documenti di trasporto che riceviamo in formato pdf (ridurre al minimo il tempo dedicato al data-entry a favore dell'analisi); vorrei creare in tkinter un'interfaccia grafica che mi permetta di scegliere il file pdf ed estrarre da esso il testo di cui ho bisogno (sempre nello stesso form) in modo da creare successivamente un tracciato .txt/csv per l'importazione nel gestionale aziendale.
Qualcuno di voi potrebbe aiutarmi? Ho già creato l'interfaccia grafica, ma ancora non sono riuscito a scrivere il codice per l'upload del file e l'estrazione dallo stesso.

Vi ringrazio in anticipo per la disponibilità

Pagine: [1]