Come caricare un foglio di calcolo in Python

Come caricare un foglio di calcolo in Python

Questa guida mostra come caricare file di fogli di calcolo XLSX e CSV in Python usando Workbook, accedere ai fogli di lavoro con get_worksheet() e leggere i valori delle celle tramite la griglia Worksheet.cells. La libreria funziona in puro Python senza Microsoft Office o estensioni native.

Guida passo passo

Passo 1: Installa il pacchetto

Installa il pacchetto FOSS Aspose.Cells da PyPI usando il comando pip qui sotto:

pip install aspose-cells-foss

Verifica l’installazione importando Workbook e stampando un messaggio di conferma:

from aspose.cells_foss import Workbook
print("aspose-cells-foss is ready.")

Passo 2: Importa le classi necessarie

Importa la classe Workbook da aspose.cells_foss per accedere al caricamento del foglio di calcolo API:

from aspose.cells_foss import Workbook

Passo 3: Carica un Workbook da un file

Passa la stringa del percorso file a Workbook() per caricare un foglio di calcolo esistente. Il costruttore accetta un argomento opzionale password per file protetti:

from aspose.cells_foss import Workbook

wb = Workbook("report.xlsx")
print("Loaded:", wb.file_path)

Passo 4: Accedi a un Worksheet

Usa get_worksheet() con un indice intero (basato su 0) o con la stringa del nome del foglio. Usa la proprietà worksheets per vedere quante schede contiene il workbook:

from aspose.cells_foss import Workbook

wb = Workbook("report.xlsx")

# By index
ws = wb.get_worksheet(0)

# By name
ws_named = wb.get_worksheet("Summary")

print(f"Worksheets: {len(wb.worksheets)}")
print(f"First sheet: {ws.name}")

Passo 5: Leggi i valori delle celle

Accedi alle celle tramite la proprietà Worksheet.cells. Usa Cells.cell(row, col) per recuperare un Cell tramite le sue coordinate di riga e colonna basate su 0. Leggi i dati con la proprietà Cell.value. Usa Cell.is_empty() per saltare in modo sicuro le celle vuote:

from aspose.cells_foss import Workbook

wb = Workbook("report.xlsx")
ws = wb.get_worksheet(0)
cells = ws.cells

# Read individual cells
product = cells.cell(0, 0).value   # row 0, col 0 (A1)
revenue = cells.cell(0, 1).value   # row 0, col 1 (B1)

print(f"Product: {product}")
print(f"Revenue: {revenue}")

# Safe read with empty check
cell = cells.cell(1, 0)
if not cell.is_empty():
    print(f"A2: {cell.value}")

Passo 6: Itera tutte le righe

Usa Cells.iter_rows() per attraversare tutte le righe senza conoscere le dimensioni. Passa values_only=True per ricevere valori Python semplici invece di oggetti Cell:

from aspose.cells_foss import Workbook

wb = Workbook("report.xlsx")
ws = wb.get_worksheet(0)

for row in ws.cells.iter_rows(0, None, 0, None, values_only=True):
    print(row)

Problemi comuni e soluzioni

FileNotFoundError durante il caricamento Verifica che il percorso sia corretto e che il file esista. Usa pathlib.Path per percorsi portabili: Workbook(str(Path("data") / "report.xlsx")).

Cell.value returns None La cella è vuota o fuori dall’intervallo. Usa Cell.is_empty() per verificare prima della lettura value. Le coordinate fuori intervallo non generano errori — restituiscono celle vuote.

Il file protetto da password genera un errore Passa la password come secondo argomento: Workbook("protected.xlsx", "secret").

Viene caricato solo il primo foglio durante la lettura di un CSV I file CSV contengono un unico foglio. Usa Workbook.load_csv(file_path) su un’esistente Workbook istanza se hai bisogno di importare dati CSV in una posizione di foglio specifica invece di leggere attraverso il Workbook() costruttore direttamente.

Nome del foglio non trovato con get_worksheet(name) I nomi dei foglio sono sensibili al maiuscolo/minuscolo. Stampa ws.name per ogni indice in wb.worksheets per confermare il nome esatto prima di chiamare get_worksheet("Name").

Domande Frequenti

Funziona su Linux e macOS?

Sì. aspose-cells-foss è puro Python e funziona su Windows, macOS, Linux e contenitori Docker senza alcuna estensione nativa o dipendenze di sistema.

Quali formati di file posso caricare?

Il costruttore Workbook() supporta i file XLSX. I file CSV possono essere caricati passando un percorso .csv o chiamando Workbook.load_csv(file_path) su un’istanza Workbook.

Come trovo l’ultima riga con dati?

Itera con Cells.iter_rows() e fermati quando tutti i valori in una riga sono None, oppure usa Cell.is_empty() sulle celle di confine per rilevare dove terminano i dati.

Posso aprire una cartella di lavoro senza conoscere in anticipo il suo formato?

Passa il percorso del file a Workbook(file_path). La libreria deduce il formato dall’estensione del file e dalle intestazioni del file. Se l’estensione è mancante o ambigua, usa un’opzione esplicita di formato di salvataggio/caricamento.

Come leggo una cella dal suo indirizzo a lettere, ad esempio “B3”?

Usa interi di riga e colonna a base zero: B3 è riga 2, col 1. Converte gli indirizzi letterali con ord(col_letter) - ord("A") per colonne a singola lettera. Ad esempio, B è ord("B") - ord("A") == 1, quindi cells.cell(2, 1) corrisponde a B3.

Vedi anche

 Italiano