Credo che tu abbia usato Microsoft Excel in qualche occasione. È molto potente quando si tratta di lavorare con fogli di calcolo, tabelle, grafici, ecc. Ma cosa c'entra Python??
Python è un punto di svolta quando si tratta di file Excel perché può automatizzare le cose scoraggianti che potresti incontrare in alcune attività relative a Excel. Ad esempio, potrebbe essere richiesto di cercare alcune informazioni in centinaia di fogli di calcolo dei budget della società. Molto scoraggiante, non è vero? In questo tutorial, ti mostrerò come Python può essere usato facilmente per lavorare con i documenti Excel.
Oh, non preoccuparti se sul tuo computer non è installato Microsoft Excel. Puoi usare altre alternative per seguire questo tutorial, come LibreOffice Calc e OpenOffice Calc.
Quindi iniziamo!
OpenPyXL
è una libreria utilizzata per leggere e scrivere Excel 2010 xlsx / xlsm / xltx / XLTM
File. Questa è la libreria che useremo in questo tutorial per lavorare con i documenti Excel.
La prima cosa che dobbiamo fare per usare questa libreria è installare OpenPyXL
.
Per installare OpenPyXL
, useremo pip, che è (basato su Wikipedia):
Un sistema di gestione dei pacchetti usato per installare e gestire pacchetti software scritti in Python. Molti pacchetti possono essere trovati nel Python Package Index (PyPI).
È possibile seguire i passaggi indicati nella Guida dell'utente di Python Packaging per l'installazione seme
, ma se lo hai Python 2.7.9
e più in alto, o Python 3.4
e più in alto, l'hai già fatto seme
!
OpenPyXL
ora può essere semplicemente installato digitando il seguente comando (nel terminale di Mac OS X):
pip installa openpyxl
Dopo l'installazione OpenPyXL
, siamo pronti per iniziare a lavorare con i documenti Excel. Il primo compito normale che dovremmo eseguire su un documento Excel è Aperto quel documento. Vai avanti e scarica il file Excel sample.xlsx per seguire il tutorial, oppure puoi usare qualsiasi file di Excel che ti piace.
Prima che possiamo usare OpenPyXL
, abbiamo bisogno di importare
esso, come segue:
importa openpyxl
Il metodo di cui abbiamo bisogno per aprire il documento Excel è load_workbook ()
. Se ti stai chiedendo cosa si intende per una cartella di lavoro, è semplicemente il documento del foglio di calcolo di Excel. Lo script che abbiamo quindi bisogno di aprire un documento Excel è il seguente:
import openpyxl excel_document = openpyxl.load_workbook ('sample.xlsx')
Vediamo ora il genere
restituito dal load_workbook ()
metodo. Questo può essere fatto come segue:
tipo di stampa (excel_document)
Ciò restituirà quanto segue:
Come possiamo vedere, l'oggetto restituito è Cartella di lavoro
, del tipo di dati cartella di lavoro
. Il Cartella di lavoro
l'oggetto qui rappresenta il file Excel.
I fogli in Excel sono costituiti da colonne (con lettere che iniziano con A, B, C, ecc.) E righe (a partire da 1, 2, 3, ecc.). Per verificare quali schede abbiamo nel nostro documento Excel, usiamo il get_sheet_names ()
metodo come segue:
excel_document.get_sheet_names ()
Se noi stampare
il comando sopra riportato, otteniamo quanto segue:
[U'Sheet1' ]
Dimostrando così che abbiamo un foglio, chiamato sheet1
.
Se hai più fogli, puoi accedere a un foglio specifico con il suo nome usando questo metodo: get_sheet_by_name ()
.
Ora che abbiamo imparato come aprire un file Excel e ottenere il foglio, vediamo come è facile accedere a una cella in quel foglio. Tutto ciò che devi fare è recuperare quel foglio e quindi determinare la posizione (coordinate) della cella. Diciamo che vogliamo accedere alla colonna UN
riga 2
nel documento Excel che abbiamo, cioè A2
. Questo può essere implementato come segue:
foglio = excel_document.get_sheet_by_name ('Foglio1') foglio di stampa ['A2']. valore
In questo caso, verrà restituito il seguente valore: Abder
.
Possiamo anche usare una notazione riga-colonna. Ad esempio, se vogliamo accedere alla cella alla riga 5
e colonna 2
, digitiamo il seguente:
sheet.cell (row = 5, column = 2) .value
L'output in questo caso sarà: programmatore
.
Se vogliamo vedere il tipo di oggetto che rappresenta la cella, possiamo digitare:
tipo di stampa (foglio ['A2'])
o:
print sheet.cell (row = 5, column = 2)
In questo caso, otterresti il seguente risultato:
il che significa che l'oggetto è di tipo Cellula
.
E se fossi interessato ad accedere a un intervallo di celle anziché a una sola cella? Diciamo che vogliamo accedere alle celle da A1
a B3
, che assomigliano a questo nel nostro documento Excel?
Questo può essere fatto usando il seguente script:
multiple_cells = foglio ['A1': 'B3'] per riga in multiple_cells: per cella in riga: print cell.value
In questo caso, otterrai il seguente risultato:
Nome Professione Abder Student Bob Engineer
OpenPyXL
ti consente di accedere a tutte le righe e le colonne del tuo documento Excel, usando (righe)
e colonne ()
metodi, rispettivamente.
Per accedere a tutte le righe, possiamo fare quanto segue:
all_rows = sheet.rows stampa all_rows [:]
Si noti che abbiamo usato il [:]
notazione per accedere a tutti i righe. Questo perché il tipo di oggetto restituito da intero documento
è un tuple
.
L'output dello script precedente sarà il seguente:
((, | ), ( | , | ), ( | , | ), ( | , | ), ( | , | ), ( | , | ), ( | , | )) |
D'altra parte, se vogliamo accedere a tutti i colonne, facciamo semplicemente quanto segue:
all_columns = sheet.columns stampa all_columns [:]
In tal caso, otterrai il seguente risultato:
((, | , | , | , | , | , | ), ( | , | , | , | , | , | , | )) |
Ovviamente c'è più che puoi fare con i documenti Excel, come puoi vedere nella documentazione di OpenPyXL.
Da questo tutorial, abbiamo notato quanto può essere flessibile lavorare con i documenti Excel usando Python. Ricorda lo scenario menzionato all'inizio del tutorial? Vale la pena provare come un progetto!
Impara Python con la nostra guida completa al tutorial su Python, sia che tu stia appena iniziando o che sei un programmatore esperto che cerca di imparare nuove abilità.