Advertisement
  1. Code
  2. Python

Come lavorare con i Documenti di Excel usando Python

by
Read Time:5 minsLanguages:

Italian (Italiano) translation by Patrizio Bellan (you can also view the original English article)

Credo che tu abbia già usato Excel in qualche occasione. E' uno strumento veramente potente che ti permette di lavorare con fogli di calcolo, tabelle, grafici, ecc.. Ma, cosa puoi farci con Python?

Python è un punto di svolta quando si tratta di lavorare con i files di Excel, è in grado di automatizzare compiti scoraggianti da compiere con Excel. Per esempio, potresti ricercare informazioni in centinaia di fogli di calcolo dei bilanci della società. Molto scoraggiante, non è vero? In questo tutorial vi mosterò come Python può essere usato facilmente per lavorare con i documenti di Excel.

Non preoccuparti se non hai Microsoft Excel installato sul tuo computer Puoi utilizzare LibreOffice Calc e Open Office Calc come alternativa per questo tutorial.

Bene, iniziamo!

OpenPyXL

 OpenPyXL è una libreria usata per leggere e scrivere files xlsx/xlsm/xltx/xltm di Excel 2010 Questa libreria sarà usata in questo tutorial per lavorare con i documenti di Excel

La prima cosa di cui hai bisogno è installare OpenPyXL

Installare OpenPyXL

per installare OpenPyXL, useremo pip, come spiegato su Wikipedia:

Il sistema di gestione dei pacchetti usato per installare e gestire i packages scritti in Python Molti pacchetti possono essere trovati in Python Package Index (PyPI).

Puoi seguire i passaggi menzionati nella guida utente del Python Packaging per installare pip, ma se tu hai Python 2.7.9 o una versione successiva, oppure Python 3.4 o successivo, hai già pip!

OpenPyXL può essere facilmente installato digitando il seguente comando (ad esempio nel terminale X di Mac OS, command propt di Windows o nella shell di Linux)

pip install openpyxl

Apri un documento Excel

Dopo aver installato OpenPyXL, sei pronto per lavorare con i documenti di Excel. Il primo compito che andiamo ad effettuare sarà naturalmente quello di aprire quel documento. Proseguiamo e scarichiamo il file di Excel sample.xlsx, questo sarà utilizzato durante il tutorial, ma tu puoi seguirlo usando qualsiasi file di Excel tu voglia.

prima di usare OpenPyXL, hai bisogno di importarlo (import), come mostrato di seguito

import openpyxl

Il metodo di cui hai bisogno per aprire il documento Excel è load_workbook(). Se ti stai chiedendo perchè usiamo workbook, semplicemente perchè è il fogli di lavoro del documento Excel Lo script di cui hai bisogno per aprire un documento di Excel è il seguente:

Andiamo a vedere il type (il tipo di dato)restituito dal metodo load_workbook () Questo può essere effettuato come segue:

print type(excel_document)

Questo ritornerà quanto seguente:

Come possiamo vedere, l'oggetto ritornato è  Workbook, del tipo di dati workbook. L'oggetto Workbook rappresenta il file di Excel.

Nomi dei fogli.

I fogli in Excel sono costituiti da colonne (che partono dalla lettera A, poi B, C, ec...) e dalle righe (numerate da 1, a 2, 3, ..). Per verificare quali fogli sono presenti nel nostro documento di Excel, useremo il metodo get_sheet_names () come mostrato di seguito:

excel_document.get_sheet_names()

Se eseguiamo il comando print di sopra, otterremo il seguente risultato:

[u'Sheet1']

Ci mostra che stiamo lavorando con un foglio, chiamato Sheet1

Se avessimo avuto più fogli, puoi accedere ad uno specifico, utilizzando il suo nome, tramite il metodo: get_sheet_by_name().

Accedere alle Celle

Adesso che hai imparato come aprire un file di Excel ed al/ai fogli, andiamo a scoprire quant'è facile accedere ad una cella del foglio. Tutto quello che devi fare è caricare il foglio e determinale le coordinate della cella. Mettiamo il caso che dobbiamo accedere alla colonna A, riga 2 di un documento di Excel, cioè A2 Questo può essere implementato come segue:

In questo caso, otterrai il seguente valore di ritorno: Abder .

Possiamo anche usare la notazione riga-colonna. Per esempio, se vogliamo accedere alla cella della riga 5 colonna 2, digitiamo quanto segue:

sheet.cell(row = 5, column = 2).value

l'output in questo caso sarà: programmer .

Se volessimo vedere il tipo di oggetto rappresentante la cella, dobbiamo digitare:

print type(sheet['A2'])

oppure:

print sheet.cell(row = 5, column = 2)

In questo caso, potremmo ottenere il seguente output:

<class 'openpyxl.cell.cell.Cell'>

questo significa che l'oggetto è di tipo Cell .

Accedere ad un range di celle

E se fossimo interessati ad accedere ad un range di celle piuttosto che ad una cella soltanto? Mettiamo che vogliamo accedere alle celle da A1 a B3, come mostrato, come facciamo con il nostro documento di Excel?

Cells A1 to B3 of Excel spreadsheetCells A1 to B3 of Excel spreadsheetCells A1 to B3 of Excel spreadsheet

Questo può essere fatto usando il seguente script:

In questo caso, otterremo il seguente output:

Accedere a tutte le righe e tutte le colonne

OpePyXL ti permette di accedere a tutte le righe e tutte le colonne del tuo documento di Excel, rispettivamente attraverso i metodi rows () e columns ().

Per accedere a tutte le righe, possiamo procedere come segue:

Notate che abbiamo usato la notazione [:] per accedere a tutte le righe. Questo perchè il tipo di oggetto ritornato whole_document è una tupla (di tipo tuple)

L'output ritornato dallo script precedente è simile al seguente:

Oppure, se volessimo accedere a tutte le colonne, basta semplicemente fare come segue:

In questo caso, otterremo il seguente output:

Possiamo effettuare molte operazioni sui documenti di Excel, basta dare uno sguardo alla documentazione di OpenPyXL

Conclusioni

In questo tutorial, abbiamo scoperto quant'è flessibile Python per lavorare con i documenti di Excel. Ricordi lo scenario menzionato all'inizio del tutorial? Vale la pena provare con un progetto!

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.