Genera, modifica e popola documenti Word in automatico con python-docx.
python-docx è una libreria che permette di creare e modificare documenti Word (.docx) direttamente da codice Python, senza aprire manualmente Word. Utile per generare automaticamente report, contratti, lettere o attestati partendo da dati (es. un elenco di clienti in un CSV).
from docx import Document doc = Document() doc.add_heading("Report Mensile", level=1) doc.add_paragraph("Questo è il primo paragrafo del documento.") doc.save("report.docx")
I titoli seguono una gerarchia (livello 1, 2, 3...) come in Word, ed ereditano automaticamente lo stile del template usato.
Per applicare grassetto, corsivo o colori solo a parte di un paragrafo, si lavora sui "run": porzioni di testo con formattazione propria all'interno dello stesso paragrafo.
python-docx permette di creare tabelle specificando righe e colonne, e di riempirle cella per cella, ideale per dati tabellari (es. un elenco di prodotti).
Puoi inserire immagini nel documento specificando anche la larghezza desiderata (in pollici o centimetri tramite la libreria docx.shared).
Il vero potenziale emerge combinando python-docx con un ciclo: puoi generare un documento diverso (es. un attestato personalizzato) per ogni riga di un CSV o DataFrame, automaticamente.
Spunta ogni passaggio man mano che lo completi: sbloccherai l'attestato di questa guida al termine.
Esempio per il punto 1
from docx import Document doc = Document() doc.add_heading("Il mio primo documento", level=1) doc.save("documento.docx")
Esempio per il punto 2
p = doc.add_paragraph("Questo testo è normale, ma ") run = p.add_run("questa parte è in grassetto") run.bold = True doc.save("documento.docx")
Esempio per il punto 3
tabella = doc.add_table(rows=1, cols=2) tabella.cell(0, 0).text = "Nome" tabella.cell(0, 1).text = "Voto"
Esempio per il punto 4
studenti = ["Anna", "Luca", "Sara"] for nome in studenti: doc = Document() doc.add_heading(f"Attestato di {nome}", level=1) doc.save(f"attestato_{nome}.docx")
Tocca ogni termine per vederne la definizione.
Crea un documento Word con un titolo, un paragrafo introduttivo e una tabella con 3 righe di dati di vendita (prodotto, quantità, totale).
Crea una lista di 5 nomi. Usa un ciclo for per generare un attestato .docx personalizzato per ciascuno, con titolo e data.
Questo codice non crea nessun file visibile: si scrivono titolo e paragrafi, ma manca l'ultima riga doc.save(...). Spiega perché questa istruzione è indispensabile.
Completa tutti i 5 passaggi della checklist per sbloccare il tuo attestato in PDF.