Realizato da

Pubblicato il

Excel

python

openpyxl


Ciao a tutti e benvenuti in questa guida dove vi mostrerò come leggere e creare dei file Excel direttamente da Python.

Esistono molti moduli Python per leggere file Excel, ma in questa guida ci focalizzeremo si come installare ed usare il pacchetto openpyxl.

Installare openpyxl

openpyxl può essere installato in modo facile utilizzando pip, eseguendo questo comando dal terminal / cmd:

pip install openpyxl


Una volta installato openpyxl possiamo continuare con la guida.

Come aprire e leggere file Excel con Python

Vediamo il codice Python necessario per aprire il file e leggere il suo contenuto, Immaginiamo di avere un file Excel chiamato test.xlsx:

import openpyxl
file_excel = openpyxl.load_workbook('test.xlsx')


Con la prima linea importiamo il modulo openpyxl, e con la seconda andiamo ad utilizzare la funzione load_workbook() per aprire il file. Questa funzione ci restituisce un Oggetto di tipo Workbook.

Per il corretto funzionamento di questo codice, avrete bisogno di avere il file Excel nella stessa directory del file python, altrimenti dovrete specificare l’intero path del file.

Ora che abbiamo un file Workbook (file excel) vediamo come leggere il contenuto di una cella. In openpyxl è possibile accedere al valore di una cella, utilizzando le sue coordinate. Per esempio per accedere alla prima casella in alto a sinistra di un file, possiamo utilizzare la coordinata A1. Inoltre siccome i file Excel sono divisi in diverse tab chiamate sheet, dobbiamo specificare la sheet da cui andiamo a leggere la casella.

come leggere, aprire e modificare file Excel con Python opnepyxl

Vediamo il codice per leggere il valore di una casella Excel con Python:

import openpyxl
file_excel = openpyxl.load_workbook('test.xlsx')
sheet = file_excel.get_sheet_by_name('Sheet1')
print(sheet['A1'].value)


Come potete vedere possiamo accedere ad una lista di elementi, prendendo prima la Sheet1. In seguito andiamo ad accedere al valore (value) della casella A1.

Oltre al valore della casella, possiamo accedere a il numero della riga e alle coordinate della casella:

casella = sheet['A1']
# numero riga
casella.row
# coordinate casella
casella.coordinate


Un modo più facile per accedere a casella Excel è utilizzare il metodo cell() e passare riga e colonna come parametri:

casella = sheet.cell(row=1, column=2)

Come creare e scrivere un file Excel con Python

Ora che abbiamo visto come leggere da un file Excel, vediamo come creare e salvare un file. Per lavorare con il file Excel non c’è alcun bisogno di creare il file sul FS, invece possiamo creare il file in memoria e poi salvarlo in seguito. 

Per creare un file Excel con openpyxl basta semplicemente chiamare la funzione Workbook(). Vediamo come:

import openpyxl
nuovo_file = openpyxl.Workbook()
sheet = nuovo_file.active
sheet.title = 'Titolo del file’
nuovo_file.save('file_esempio.xlsx')

Come potete vedere questo script crea un nuovo file Excel, assegna un titolo alla Sheet attiva, e salva il file con un nome.

Come inserire dei valori nelle caselle

Inserire valori nelle caselle è molto simile al processo di lettura. Infatti, una volta creato il file possiamo accedere alle caselle di questo file utilizzando ancora una volta le sue coordinate. Vediamo un esempio:

import openpyxl
nuovo_file = openpyxl.Workbook()
sheet = nuovo_file.get_sheet_by_name('Sheet')
sheet['A1'] = 'Hello world!'
sheet['A1'].value
nuovo_file.save('file_esempio.xlsx')


Ora se eseguite questo script, dovreste vedere il vostro nuovo file Excel nella stessa directory del file Python.

Ci siamo! Siamo riusciti a creare un file Excel con Python utilizzando il modulo openpyxl.

Se avete qualsiasi domanda su questo processo o altro, non esitate a commentare nella zona in basso e vi risponderò immediatamente :)

Ci vediamo alla prossima guida!