Home > python > Python: scrivere su file Excel con XLWT

Python: scrivere su file Excel con XLWT

Abbiamo visto come leggere da un file di excel.
Vediamo come scriverci (sempre prendendo spunto
da questa guida):

prima importiamo il modulo ovviamente:

import xlwt

Per “aprire” il file:

MyFile = xlwt.Workbook()

Dopo aver creato l’oggetto, creiamo i sheets:

MyFoglio1 = MyFile.add_sheet('Foglio1')
MyFoglio2 = MyFile.add_sheet('Foglio2')

Tenendo sempre presente che l’indicizzazione, parte da 0,
per scrivere nella cella A1, del Foglio1, è molto semplice:

MyFoglio1.write(0,0,'ABCDEF')

oppure

MyFoglio1.write(0,1,'ghi')

per confermare il tutto, si deve salvare il workbook:

MyFile.save(r'c:\tmp\prova2.xls')

Ecco il risultato:

NOTA 1.Sovrascrivere una Cella contenente un valore.

Che succede se tento di sovrascrivere una cella?

>>> MyFoglio1.write(0,0,'ZZZZZ')

Traceback (most recent call last):
.......
Exception: Attempt to overwrite cell: sheetname=u'Foglio1' rowx=0 colx=0

Per evitare questo problema, bisogna aggiungere l’argomento
cell_overwrite_ok = True, durante la creazione del foglio.

Proviamo creando un nuovo foglio:

MyFoglio3 = MyFile.add_sheet('Foglio3', cell_overwrite_ok = True)

Ora scrivo qualcosa sulla cella C3 (a caso):

MyFoglio3.write(2,2,'PrimoTesto')

Ora sovrascrivo il contenuto della cella:

MyFoglio3.write(2,2,'AltroTesto')

ricordiamo di salvare:

MyFile.save(r'c:\tmp\prova2.xls')

Controlliamo:

NOTA 2. Associare uno stile alla cella.

Prima inizializziamo lo stile:

MyStyle = xlwt.XFStyle()

Poi il font, lo inizializziamo:

MyFont = xlwt.Font()

e definiamo il tipo:

MyFont.name = 'Tahoma'

se lo volessi in grassetto:

MyFont.bold = True

ora associo il font allo stile:

MyStyle.font = MyFont

Non mi resta che scrivere sulla cella

MyFoglio3.write(0, 0, 'TAHOMA', MyStyle)
MyFont.name = 'Times New Roman'
MyStyle.font = MyFont
MyFoglio3.write(1, 0, 'Times New Roman', MyStyle)

salvo e controllo

MyFile.save(r'c:\tmp\prova2.xls')


Categorie:python
  1. Fabrizio
    novembre 7, 2012 alle 5:20 pm

    Buon giorno,
    mi potreste dire come posso scaicare il odulo XLWT
    Grazie

  2. novembre 7, 2012 alle 10:28 pm
  3. giuseppe
    gennaio 4, 2013 alle 6:52 pm

    grazie, leggendo questo articolo sono riuscito in un quarto d’ora a
    leggere e riscrivere un file excel da 25 sheet, ogniuna composta da
    3 colonne per 359 righe, python non finira’ mai di stupirmi.

  4. gennaio 5, 2013 alle 11:48 am

    giuseppe :

    …python non finira’ mai di stupirmi.

    Sono d’accordo.
    Ciao

  1. agosto 5, 2010 alle 12:31 pm

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: