Leggere file Excel con Python

2023-12-28 02:46:13

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.

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)

Read Excel Files with Python

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("")

Read Excel Files with Python

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("")

Read Excel Files with Python

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))

Read Excel Files with Python

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.

Guarda anche