Hur man laddar ett kalkylblad i Python
Denna guide visar hur man laddar XLSX- och CSV-kalkylbladsfiler i Python med Workbook, får åtkomst till arbetsblad med get_worksheet() och läser cellvärden via Worksheet.cells-rutnätet. Biblioteket körs i ren Python utan Microsoft Office eller inhemska tillägg.
Steg-för-steg-guide
Steg 1: Installera paketet
Installera Aspose.Cells FOSS-paketet från PyPI med pip-kommandot nedan:
pip install aspose-cells-fossVerifiera installationen genom att importera Workbook och skriva ut ett bekräftelsemeddelande:
from aspose.cells_foss import Workbook
print("aspose-cells-foss is ready.")Steg 2: Importera nödvändiga klasser
Importera Workbook-klassen från aspose.cells_foss för att få åtkomst till kalkylbladsladdning API:
from aspose.cells_foss import WorkbookSteg 3: Ladda en arbetsbok från en fil
Skicka filvägssträngen till Workbook() för att ladda ett befintligt kalkylblad. Konstruktorn accepterar ett valfritt password-argument för skyddade filer:
from aspose.cells_foss import Workbook
wb = Workbook("report.xlsx")
print("Loaded:", wb.file_path)Steg 4: Åtkomst till ett kalkylblad
Använd get_worksheet() med ett heltalsindex (0-baserat) eller kalkylbladsnamnsträngen. Använd egenskapen worksheets för att se hur många blad arbetsboken innehåller:
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}")Steg 5: Läs cellvärden
Få åtkomst till celler via egenskapen Worksheet.cells. Använd Cells.cell(row, col) för att hämta en Cell genom dess nollbaserade rad- och kolumnkoordinater. Läs data med egenskapen Cell.value. Använd Cell.is_empty() för att säkert hoppa över tomma celler:
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}")Steg 6: Iterera alla rader
Använd Cells.iter_rows() för att gå igenom alla rader utan att känna till dimensionerna. Skicka values_only=True för att få rena Python-värden istället för Cell-objekt:
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)Vanliga problem och lösningar
FileNotFoundError vid laddning Kontrollera att sökvägen är korrekt och att filen finns. Använd pathlib.Path för portabla sökvägar: Workbook(str(Path("data") / "report.xlsx")).
Cell.value returns None Cellen är tom eller utanför intervallet. Använd Cell.is_empty() för att kontrollera innan du läser value. Koordinater utanför intervallet ger inga fel — de returnerar tomma celler.
Lösenordsskyddad fil utlöser ett fel Skicka lösenordet som det andra argumentet: Workbook("protected.xlsx", "secret").
Endast det första bladet laddas när en CSV läses CSV-filer innehåller ett enda blad. Använd Workbook.load_csv(file_path) på ett befintligt Workbook instans om du behöver importera CSV-data till en specifik bladposition snarare än att läsa igenom den Workbook() konstruktorn direkt.
Bladnamn hittades inte med get_worksheet(name) Bladnamn är skiftlägeskänsliga. Skriv ut ws.name för varje index i wb.worksheets för att bekräfta det exakta namnet innan du ringer get_worksheet("Name").
Vanliga frågor
Fungerar detta på Linux och macOS?
Ja. aspose-cells-foss är ren Python och körs på Windows, macOS, Linux och Docker-behållare utan några inhemska tillägg eller systemberoenden.
Vilka filformat kan jag läsa in?
Konstruktorn Workbook() stöder XLSX-filer. CSV-filer kan laddas genom att skicka en .csv-sökväg eller genom att anropa Workbook.load_csv(file_path) på en Workbook-instans.
Hur hittar jag den sista raden med data?
Iterera med Cells.iter_rows() och stoppa när alla värden i en rad är None, eller använd Cell.is_empty() på gränsceller för att upptäcka var datan slutar.
Kan jag öppna en arbetsbok utan att veta dess format i förväg?
Skicka filvägen till Workbook(file_path). Biblioteket härleder formatet från filändelsen och filhuvudena. Om ändelsen saknas eller är tvetydig, använd ett explicit spara/ladda-formatalternativ.
Hur läser jag en cell med dess bokstavsadress som “B3”?
Använd nollbaserade rad- och kolumnheltal: B3 är rad 2, kolumn 1. Konvertera bokstavsadresser med ord(col_letter) - ord("A") för enkla kolumner. Till exempel är B ord("B") - ord("A") == 1, så cells.cell(2, 1) motsvarar B3.