Vai al contenuto
Leo

Libreria

Ufficio

Documenti, fogli di calcolo, PDF e presentazioni.

  • 37 voci
  • 6 voci con esempi eseguiti

Funzioni 30

leggi_excel(percorso, foglio = nulla, intestazione = vero)#

Legge un foglio di un file Excel (.xlsx) o LibreOffice (.ods).

Con l'intestazione ogni riga diventa un dizionario: le chiavi sono i nomi scritti nella prima riga. Con intestazione = falso ogni riga è una lista. Senza foglio legge il primo; si può dare il nome ("Voti") o il numero (da 1). Numeri, date e valori logici restano tali; le righe vuote si saltano.

Esempiocontrollato con Leo
per ogni r in leggi_excel("voti.xlsx") fai stampa(r["nome"], r["voto"]) fine

scrivi_excel(percorso, righe, foglio = "Foglio1", larghezze = nulla)#

Scrive una tabella in un file Excel (.xlsx) o LibreOffice (.ods).

righe è una lista di dizionari (le chiavi diventano l'intestazione, in grassetto e bloccata in alto) o una lista di liste. Numeri, date (data(...)), soldi e vero/falso restano tali; un testo che inizia con "=" è una formula, anche con i nomi italiani: "=SOMMA(B2:B4)"; delle formule semplici (+ - * /, SOMMA, MEDIA, MIN, MAX, CONTA, ARROTONDA) Leo salva già il risultato. Le colonne si allargano da sole; con larghezze le scegli tu, in caratteri: una lista ([20, 8]) o un dizionario ({"nome": 25, "C": 12}). Senza estensione aggiunge ".xlsx". Restituisce il percorso del file scritto.

Esempioeseguito con Leo
scrivi_excel("voti.xlsx", [{"nome": "Ada", "voto": 9}, {"nome": "Bruno", "voto": 7}])

scrivi_fogli_excel(percorso, fogli)#

Scrive un file Excel (.xlsx o .ods) con più fogli.

fogli è un dizionario: nome del foglio -> righe (come in scrivi_excel). I fogli restano nell'ordine dato.

Esempiocontrollato con Leo
scrivi_fogli_excel("scuola.xlsx", {"3A": voti_3a, "3B": voti_3b})

elenca_fogli_excel(percorso)#

I nomi dei fogli di un file Excel (.xlsx) o .ods, in ordine.

Esempiocontrollato con Leo
per ogni f in elenca_fogli_excel("scuola.xlsx") fai stampa(f) fine

leggi_cella_excel(percorso, cella, foglio = nulla)#

Il valore di una cella ("B3"), o nulla se è vuota.

Il foglio si può scrivere anche nella cella: "Voti!B3". Delle formule si legge l'ultimo risultato salvato da Excel.

Esempiocontrollato con Leo
stampa(leggi_cella_excel("conti.xlsx", "B10"))

leggi_intervallo_excel(percorso, intervallo, foglio = nulla)#

Le celle di un rettangolo ("A1:C5") come lista di righe.

Le celle vuote sono nulla. Il foglio si può scrivere anche nell'intervallo: "Voti!A1:C5".

Esempiocontrollato con Leo
variabile tabella = leggi_intervallo_excel("voti.xlsx", "A2:B30")

nome_colonna_excel(numero)#

Le lettere di una colonna di Excel dal suo numero (1 -> "A", 28 -> "AB").

Esempioeseguito con Leo
stampa(nome_colonna_excel(3) + "5")
Uscita
C5

numero_colonna_excel(lettere)#

Il numero di una colonna di Excel dalle sue lettere ("A" -> 1, "AB" -> 28).

Esempioeseguito con Leo
stampa(numero_colonna_excel("D"))
Uscita
4

leggi_word(percorso)#

Tutto il testo di un documento Word (.docx) o LibreOffice (.odt).

I paragrafi vanno a capo; le celle delle tabelle sono separate da una tabulazione.

Esempiocontrollato con Leo
stampa(leggi_word("relazione.docx"))

paragrafi_word(percorso)#

La lista dei paragrafi (non vuoti) di un documento .docx o .odt, fuori dalle tabelle.

Esempiocontrollato con Leo
variabile p = paragrafi_word("tema.docx")stampa(lunghezza(p), "paragrafi")

tabelle_word(percorso)#

Le tabelle di un documento .docx o .odt; ogni tabella è una lista di righe di testi.

Esempiocontrollato con Leo
per ogni riga in tabelle_word("orario.docx")[0] fai stampa(riga) fine

scrivi_word(percorso, testo, titolo = nulla)#

Crea un documento Word (.docx) o LibreOffice (.odt) da un testo semplice.

Nel testo: una riga vuota separa i paragrafi; # Titolo, ## Sottotitolo; righe che iniziano con - (punti) o 1. (numeri) formano un elenco; righe come | Nome | Voto | una tabella; ![](foto.jpg) un'immagine; --- una nuova pagina; **grassetto** e *corsivo*. Senza estensione aggiunge ".docx". Restituisce il percorso del file.

Esempioeseguito con Leo
scrivi_word("invito.docx", "# Festa!\n\nSabato alle **16**, porta un amico.")

sostituisci_in_word(percorso, sostituzioni, uscita = nulla)#

Sostituisce dei testi in un .docx, lasciando intatta la grafica.

sostituzioni è un dizionario: testo da cercare -> testo nuovo. Cerca anche nelle intestazioni e nei piè di pagina. Scrive il risultato in uscita (senza uscita cambia il file stesso) e restituisce quante sostituzioni ha fatto.

Esempiocontrollato con Leo
sostituisci_in_word("modello.docx", {"<<nome>>": "Ada"}, "lettera_ada.docx")

stampa_unione(modello, righe, uscita)#

Crea una lettera (o un attestato...) per ogni riga di una tabella.

modello è un file .docx, .txt, .md o .html, oppure direttamente un testo, con i campi scritti come <<nome>> (o «nome»). righe è una lista di dizionari o un file .xlsx, .ods, .csv. Se uscita contiene un campo ("lettere/lettera_<<nome>>.pdf") crea un file per riga, altrimenti un solo file con una pagina per riga. Il formato viene dall'estensione (.docx, .odt, .pdf, .html, .md, .txt). Restituisce la lista dei file creati.

Esempiocontrollato con Leo
stampa_unione("Cara <<nome>>, sei invitata!", leggi_excel("amici.xlsx"), "inviti.pdf")

nuovo_documento(titolo = nulla)#

Un documento vuoto da riempire e poi salvare in Word, PDF, LibreOffice o HTML.

Metodi: aggiungi_titolo(testo, livello), aggiungi_paragrafo(testo, allinea), aggiungi_elenco(voci, numerato), aggiungi_tabella(righe), aggiungi_immagine(percorso, larghezza), aggiungi_interruzione_pagina() e salva(percorso): il formato viene dall'estensione (.docx, .odt, .pdf, .html, .md, .txt).

Esempioeseguito con Leo
variabile d = nuovo_documento("Gita")d.aggiungi_paragrafo("Si parte alle **8**.")d.salva("gita.pdf")

scrivi_pdf(percorso, testo, titolo = nulla)#

Crea un PDF (A4) da un testo semplice, con titoli, elenchi e tabelle.

Il testo si scrive come in scrivi_word: # Titolo, - punto, | a | b |, **grassetto**, --- per una pagina nuova, ![](foto.jpg) per un'immagine. Le pagine sono numerate in basso.

Esempioeseguito con Leo
scrivi_pdf("ricetta.pdf", "# Pancake\n\n- 2 uova\n- 200 g di farina")

leggi_pdf(percorso, pagine = nulla)#

Il testo di un PDF (di tutte le pagine o solo di quelle scelte).

pagine può essere un numero (da 1), una lista o un testo come "1-3, 5". Le pagine sono separate da una riga vuota. I PDF fatti da foto o da scanner non hanno testo (serve un programma OCR).

Esempiocontrollato con Leo
stampa(leggi_pdf("contratto.pdf", 1))

conta_pagine_pdf(percorso)#

Quante pagine ha un PDF.

Esempiocontrollato con Leo
stampa(conta_pagine_pdf("libro.pdf"), "pagine")

info_pdf(percorso)#

Un dizionario con le informazioni di un PDF.

Chiavi: "pagine", "titolo", "autore", "oggetto", "parole_chiave", "programma", "creato", "modificato" (date o nulla), "larghezza_mm" e "altezza_mm" (della prima pagina), "protetto" (vero se cifrato), "versione".

Esempiocontrollato con Leo
variabile i = info_pdf("tesi.pdf")stampa(i["pagine"], i["titolo"])

unisci_pdf(sorgenti, uscita)#

Unisce più PDF, uno dopo l'altro, in un PDF nuovo; restituisce quante pagine ha.

Esempiocontrollato con Leo
unisci_pdf(["copertina.pdf", "compiti.pdf"], "consegna.pdf")

estrai_pagine_pdf(percorso, pagine, uscita)#

Copia alcune pagine di un PDF in un PDF nuovo, nell'ordine chiesto.

pagine è un numero (da 1; -1 è l'ultima), una lista di numeri o un testo come "1-3, 5". Restituisce quante pagine ha il PDF nuovo.

Esempiocontrollato con Leo
estrai_pagine_pdf("libro.pdf", "10-12", "capitolo2.pdf")

ruota_pagine_pdf(percorso, gradi = 90, uscita = nulla, pagine = nulla)#

Gira le pagine di un PDF (90, 180, 270 gradi).

I gradi positivi girano in senso orario, quelli negativi al contrario. Senza pagine gira tutte le pagine; senza uscita cambia il file stesso. Restituisce il percorso del file scritto.

Esempiocontrollato con Leo
ruota_pagine_pdf("scansione.pdf", 90, "dritta.pdf")

immagini_in_pdf(immagini, uscita)#

Mette delle foto JPEG o PNG in un PDF, una per pagina; restituisce quante pagine.

Ogni foto riempie una pagina A4 (verticale o orizzontale, come la foto). Utile per le pagine fotografate.

Esempiocontrollato con Leo
immagini_in_pdf(["pagina1.jpg", "pagina2.jpg"], "compito.pdf")

cerca_in_pdf(percorso, testo)#

Dove compare un testo in un PDF; restituisce una lista di dizionari.

Ogni risultato ha "pagina" (da 1) e "riga" (la riga intera che contiene il testo). Non guarda maiuscole e minuscole. Se il testo non c'è restituisce una lista vuota.

Esempiocontrollato con Leo
per ogni t in cerca_in_pdf("contratto.pdf", "scadenza") fai stampa(t["pagina"], t["riga"]) fine

dividi_pdf(percorso, cartella)#

Fa un PDF per ogni pagina, dentro una cartella (la crea se manca).

I file si chiamano come l'originale con il numero della pagina: "libro_001.pdf", "libro_002.pdf"... Restituisce la lista dei file creati.

Esempiocontrollato con Leo
dividi_pdf("scansioni.pdf", "pagine")

leggi_fogli_excel(percorso, intestazione = vero)#

Tutti i fogli di un file .xlsx o .ods in un dizionario.

Le chiavi sono i nomi dei fogli, i valori le righe (come in leggi_excel).

Esempiocontrollato con Leo
per ogni nome, righe in leggi_fogli_excel("scuola.xlsx") fai stampa(nome, lunghezza(righe)) fine

tabella_in_html(righe, titolo = nulla, intestazione = nulla, classe = nulla)#

Il codice HTML (<table>...) di una tabella.

righe è una lista di dizionari (le chiavi diventano le colonne) o di liste, come in scrivi_excel. I testi sono protetti e i numeri allineati a destra; con titolo la tabella ha una didascalia. intestazione (vero o falso) dice se la prima riga di una lista di liste è l'intestazione: se manca, Leo lo capisce da solo (prima riga tutta di testi). classe aggiunge class="..." per lo stile CSS. Per un file .html completo usa converti_tabella.

Esempiocontrollato con Leo
scrivi_file("voti.html", tabella_in_html(leggi_excel("voti.xlsx"), "Voti", classe = "voti"))

converti_tabella(sorgente, destinazione, titolo = nulla)#

Porta una tabella da un formato a un altro.

sorgente è un file (.xlsx, .ods, .csv, .tsv, .json, oppure la prima tabella di un .docx/.odt) o direttamente una lista di righe. destinazione decide il formato: .xlsx, .ods, .csv, .tsv, .json, .html, .md, .txt, .docx, .odt o .pdf. Con titolo i documenti hanno un titolo sopra la tabella. Restituisce il percorso del file scritto.

Esempiocontrollato con Leo
converti_tabella("voti.xlsx", "voti.pdf", "Voti della 3A")

apri_documento(percorso)#

Apre un documento (.docx, .odt, .md, .txt o .pdf) come documento, per aggiungere e risalvare.

Si tengono titoli, paragrafi, elenchi e tabelle (non la grafica). Poi si usano i metodi di nuovo_documento (aggiungi_paragrafo, salva...).

Esempiocontrollato con Leo
variabile d = apri_documento("verbale.docx")d.aggiungi_paragrafo("Firmato: Ada")d.salva("verbale_firmato.pdf")

converti_documento(sorgente, destinazione)#

Trasforma un documento in un altro formato; restituisce il percorso scritto.

Legge .docx, .odt, .md, .txt e .pdf (solo il testo); scrive .docx, .odt, .pdf, .html, .md o .txt, secondo l'estensione di destinazione. Si tengono titoli, paragrafi, elenchi e tabelle.

Esempiocontrollato con Leo
converti_documento("tema.docx", "tema.pdf")

Oggetto «documento»

Un documento da riempire e poi salvare in .docx, .odt, .pdf, .html, .md o .txt.

ProprietàSignificato
elementi
testo
titolo

.aggiungi_elenco(voci, numerato = falso)#

Aggiunge un elenco puntato (o numerato con numerato = vero).

Esempiocontrollato con Leo
d.aggiungi_elenco(["pane", "latte", "uova"])

.aggiungi_immagine(percorso, larghezza = nulla)#

Aggiunge un'immagine JPEG o PNG (GIF solo per Word e .odt).

larghezza è in centimetri (al massimo 17, la larghezza della pagina); senza, l'immagine tiene la sua misura, ridotta se non ci sta.

Esempiocontrollato con Leo
d.aggiungi_immagine("foto.jpg", 8)

.aggiungi_interruzione_pagina()#

Quello che viene dopo comincia su una pagina nuova.

Esempiocontrollato con Leo
d.aggiungi_interruzione_pagina()d.aggiungi_titolo("Capitolo 2")

.aggiungi_paragrafo(testo, allinea = "sinistra")#

Aggiunge un paragrafo; **grassetto** e *corsivo* funzionano.

allinea può essere "sinistra", "centro", "destra" o "giustificato". "\n" va a capo nello stesso paragrafo.

Esempiocontrollato con Leo
d.aggiungi_paragrafo("Ciao **Ada**, ci vediamo *domani*.")

.aggiungi_tabella(righe, intestazione = nulla)#

Aggiunge una tabella da una lista di dizionari o di liste.

Con i dizionari le chiavi diventano la riga d'intestazione (in grassetto); con le liste la prima riga è l'intestazione se contiene solo testi (oppure scegli tu con intestazione = vero o falso).

Esempiocontrollato con Leo
d.aggiungi_tabella([{"nome": "Ada", "voto": 9}, {"nome": "Bruno", "voto": 7}])

.aggiungi_titolo(testo, livello = 1)#

Aggiunge un titolo (livello 1, 2 o 3; 0 è il titolo del documento).

Esempiocontrollato con Leo
d.aggiungi_titolo("Capitolo 1")d.aggiungi_titolo("Parte A", 2)

.salva(percorso)#

Salva il documento; il formato viene dall'estensione (.docx, .odt, .pdf, .html, .md, .txt).

Senza estensione salva in Word (.docx). Restituisce il percorso del file.

Esempiocontrollato con Leo
d.salva("relazione.docx")d.salva("relazione.pdf")