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-fossVerifica 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 WorkbookPasso 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.