Hur man laddar ett kalkylblad i Python

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

Verifiera 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 Workbook

Steg 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.

Se även

 Svenska