Sommario
Installa con Pip
pip install Spire.XLS
Link correlati
I file Excel (fogli di calcolo) vengono utilizzati da persone in tutto il mondo per organizzare, analizzare e archiviare dati tabulari. A causa della loro popolarità, gli sviluppatori incontrano spesso situazioni in cui devono estrarre dati da Excel o creare report in formato Excel. Essere capace di leggere file Excel con Python apre una serie completa di possibilità per l'elaborazione e l'automazione dei dati. In questo articolo imparerai come farlo leggere dati (valori di testo o numerici) da una cella, un intervallo di celle o un intero foglio di lavoro utilizzando la libreria Spire.XLS for Python library.
- Leggi i dati di una cella particolare in Python
- Leggi i dati da un intervallo di celle in Python
- Leggere i dati da un foglio di lavoro Excel in Python
- Leggi il valore anziché la formula in una cella in Python
Libreria Python per leggere Excel
Spire.XLS for Python è una libreria Python affidabile di livello aziendale per creare, scrivere, leggere e modifica Excel documenti (XLS, XLSX, XLSB, XLSM, ODS) in un'applicazione Python. Fornisce un set completo di interfacce, classi e proprietà che consentono ai programmatori di leggere e scrivere Excel file con facilità. Nello specifico, è possibile accedere a una cella in una cartella di lavoro utilizzando la proprietà Worksheet.Range e il valore della cella può essere ottenuto utilizzando la proprietà CellRange.Value.
La libreria è facile da installare eseguendo il seguente comando pip. Se desideri importare manualmente le dipendenze necessarie, fai riferimento a Come installare Spire.XLS for Python in VS Code
pip install Spire.XLS
Classi e proprietà in Spire.XLS per l'API Python
- Classe cartella di lavoro: rappresenta un modello di cartella di lavoro Excel, che è possibile utilizzare per creare una cartella di lavoro da zero o caricare un documento Excel esistente e apportarvi modifiche.
- Classe del foglio di lavoro: rappresenta un foglio di lavoro in una cartella di lavoro.
- Classe CellRange: rappresenta una cella specifica o un intervallo di celle in una cartella di lavoro.
- Proprietà Worksheet.Rangeottiene una cella o un intervallo e restituisce un oggetto della classe CellRange.
- ProprietàWorksheet.AllocatedRange: ottiene l'intervallo di celle contenente dati e restituisce un oggetto della classe CellRange.
- ProprietàCellRange.Value: ottiene il valore numerico o il valore testo di una cella. Ma se una cella contiene una formula, questa proprietà restituisce la formula anziché il risultato della formula.
Leggi i dati di una cella particolare in Python
Con Spire.XLS for Python, puoi ottenere facilmente il valore di una determinata cella utilizzando la proprietà CellRange.Value. I passaggi per leggere i dati di una particolare cella Excel in Python sono i seguenti.
- Crea un'istanza della classe Workbook
- Carica un documento Excel utilizzando il metodo LoadFromFile.
- Ottieni un foglio di lavoro specifico utilizzando la proprietà Workbook.Worksheets[index].
- Ottieni una cella specifica utilizzando la proprietà Worksheet.Range.
- Ottieni il valore della cella utilizzando la proprietà CellRange.Value
- Python
from spire.xls import * from spire.xls.common import * # Create a Workbook object wb = Workbook() # Load an Excel file wb.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Data.xlsx"); # Get a specific worksheet sheet = wb.Worksheets[0] # Get a specific cell certainCell = sheet.Range["D9"] # Get the value of the cell print("D9 has the value: " + certainCell.Value)
Leggi i dati da un intervallo di celle in Python
Sappiamo già come ottenere il valore di una cella, per ottenere i valori di un intervallo di celle, come determinate righe o colonne, dobbiamo solo utilizzare le istruzioni di loop per scorrere le celle e quindi estrarle una per una. I passaggi per leggere i dati da un intervallo di celle Excel in Python sono i seguenti.
- Crea un'istanza della classe Workbook
- Carica un documento Excel utilizzando il metodo LoadFromFile.
- Ottieni un foglio di lavoro specifico utilizzando la proprietà Workbook.Worksheets[index].
- Ottieni un intervallo di celle specifico utilizzando la proprietà Worksheet.Range.
- Utilizzare le istruzioni del ciclo for per recuperare ogni cella nell'intervallo e ottenere il valore di una cella specifica utilizzando la proprietà CellRange.Value
- Python
from spire.xls import * from spire.xls.common import * # Create a Workbook object wb = Workbook() # Load an existing Excel file wb.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Data.xlsx"); # Get a specific worksheet sheet = wb.Worksheets[0] # Get a cell range cellRange = sheet.Range["A2:H5"] # Iterate through the rows for i in range(len(cellRange.Rows)): # Iterate through the columns for j in range(len(cellRange.Rows[i].Columns)): # Get data of a specific cell print(cellRange[i + 2, j + 1].Value + " ", end='') print("")
Leggere i dati da un foglio di lavoro Excel in Python
Spire.XLS for Python offre la proprietà Worksheet.AllocatedRange per ottenere automaticamente l'intervallo di celle che contiene i dati da un foglio di lavoro. Quindi, attraversiamo le celle all'interno dell'intervallo di celle anziché l'intero foglio di lavoro e recuperiamo i valori delle celle uno per uno. Di seguito sono riportati i passaggi per leggere i dati da un foglio di lavoro Excel in Python.
- Crea un'istanza della classe Workbook.
- Carica un documento Excel utilizzando il metodo LoadFromFile.
- Ottieni un foglio di lavoro specifico utilizzando la proprietà Workbook.Worksheets[index].
- Ottieni l'intervallo di celle contenente i dati dal foglio di lavoro utilizzando la proprietà Worksheet.AllocatedRange.
- Utilizzare le istruzioni del ciclo for per recuperare ogni cella nell'intervallo e ottenere il valore di una cella specifica utilizzando la proprietà CellRange.Value.
- Python
from spire.xls import * from spire.xls.common import * # Create a Workbook object wb = Workbook() # Load an existing Excel file wb.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Data.xlsx"); # Get the first worksheet sheet = wb.Worksheets[0] # Get the cell range containing data locatedRange = sheet.AllocatedRange # Iterate through the rows for i in range(len(sheet.Rows)): # Iterate through the columns for j in range(len(locatedRange.Rows[i].Columns)): # Get data of a specific cell print(locatedRange[i + 1, j + 1].Value + " ", end='') print("")
Leggi il valore anziché la formula in una cella in Python
Come accennato in precedenza, quando una cella contiene una formula, la proprietà CellRange.Value restituisce la formula stessa, non il valore della formula. Se vogliamo ottenere il valore, dobbiamo utilizzare il metodo str(CellRange.FormulaValue). Di seguito sono riportati i passaggi per leggere il valore anziché la formula in una cella di Excel in Python.
- Crea un'istanza della classe Workbook.
- Carica un documento Excel utilizzando il metodo LoadFromFile.
- Ottieni un foglio di lavoro specifico utilizzando la proprietà Workbook.Worksheets[index].
- Ottieni una cella specifica utilizzando la proprietà Worksheet.Range.
- Determina se la cella ha una formula utilizzando la proprietà CellRange.HasFormula.
- Ottieni il valore della formula della cella utilizzando il metodo str(CellRange.FormulaValue).
- Python
from spire.xls import * from spire.xls.common import * # Create a Workbook object wb = Workbook() # Load an Excel file wb.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Formula.xlsx"); # Get a specific worksheet sheet = wb.Worksheets[0] # Get a specific cell certainCell = sheet.Range["D4"] # Determine if the cell has formula if(certainCell.HasFormula): # Get the formula value of the cell print(str(certainCell.FormulaValue))
Conclusione
In questo post del blog, abbiamo imparato come leggere i dati da celle, regioni di celle e fogli di lavoro in Python con l'aiuto dell'API Spire.XLS for Python. Abbiamo anche discusso come determinare se una cella ha una formula e come ottenere il valore della formula. Questa libreria supporta l'estrazione di molti altri elementi in Excel come immagini, collegamenti ipertestuali e oggetti OEL. Consulta la nostra documentazione online per ulteriori tutorial. Se avete domande, contattateci via e-mail o sul forum.