Hoe een spreadsheet te laden in Python

Hoe een spreadsheet te laden in Python

Deze gids laat zien hoe u XLSX- en CSV-spreadsheetbestanden kunt laden in Python met behulp van Workbook, werkbladen kunt benaderen met get_worksheet() en celwaarden kunt lezen via het Worksheet.cells raster. De bibliotheek draait in pure Python zonder Microsoft Office of native extensies.

Stap-voor-stap gids

Stap 1: Installeer het pakket

Installeer het Aspose.Cells FOSS-pakket van PyPI met behulp van de onderstaande pip-opdracht:

pip install aspose-cells-foss

Verifieer de installatie door Workbook te importeren en een bevestigingsbericht af te drukken:

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

Stap 2: Vereiste klassen importeren

Importeer de Workbook klasse van aspose.cells_foss om toegang te krijgen tot het spreadsheet-laden API:

from aspose.cells_foss import Workbook

Stap 3: Een werkmap laden vanuit een bestand

Geef de bestandspad-string door aan Workbook() om een bestaande spreadsheet te laden. De constructor accepteert een optioneel password argument voor beveiligde bestanden:

from aspose.cells_foss import Workbook

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

Stap 4: Een werkblad benaderen

Gebruik get_worksheet() met een gehele index (0-gebaseerd) of de bladnaam-string. Gebruik de worksheets eigenschap om te zien hoeveel bladen de werkmap bevat:

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

Stap 5: Celwaarden lezen

Benader cellen via de Worksheet.cells eigenschap. Gebruik Cells.cell(row, col) om een Cell op te halen aan de hand van de nulgebaseerde rij- en kolomcoördinaten. Lees de gegevens met de Cell.value eigenschap. Gebruik Cell.is_empty() om lege cellen veilig over te slaan:

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

Stap 6: Doorloop alle rijen

Gebruik Cells.iter_rows() om door alle rijen te lopen zonder de afmetingen te kennen. Geef values_only=True door om platte Python-waarden te ontvangen in plaats van Cell-objecten:

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)

Veelvoorkomende problemen en oplossingen

FileNotFoundError bij het laden Controleer of het pad correct is en het bestand bestaat. Gebruik pathlib.Path voor draagbare paden: Workbook(str(Path("data") / "report.xlsx")).

Cell.value returns None De cel is leeg of buiten bereik. Gebruik Cell.is_empty() om te controleren vóór het lezen value. Coördinaten buiten bereik veroorzaken geen fouten — ze geven lege cellen terug.

Wachtwoordbeveiligd bestand geeft een fout Geef het wachtwoord door als tweede argument: Workbook("protected.xlsx", "secret").

Alleen het eerste blad wordt geladen bij het lezen van een CSV CSV-bestanden bevatten één enkel blad. Gebruik Workbook.load_csv(file_path) op een bestaande Workbook instantie als je CSV-gegevens moet importeren naar een specifieke bladpositie in plaats van via de Workbook() constructor direct.

Bladnaam niet gevonden met get_worksheet(name) Bladnamen zijn hoofdlettergevoelig. Print ws.name voor elke index in wb.worksheets om de exacte naam te bevestigen voordat je belt get_worksheet("Name").

Veelgestelde vragen

Werkt dit op Linux en macOS?

Ja. aspose-cells-foss is pure Python en draait op Windows, macOS, Linux en Docker containers zonder native extensions of systeemafhankelijkheden.

Welke bestandsformaten kan ik laden?

De Workbook() constructor ondersteunt XLSX-bestanden. CSV-bestanden kunnen worden geladen door een .csv pad door te geven of door Workbook.load_csv(file_path) aan te roepen op een Workbook instantie.

Hoe vind ik de laatste rij met gegevens?

Itereer met Cells.iter_rows() en stop wanneer alle waarden in een rij None zijn, of gebruik Cell.is_empty() op grenscellen om te detecteren waar de gegevens eindigen.

Kan ik een werkmap openen zonder van tevoren het formaat te kennen?

Geef het bestandspad door aan Workbook(file_path). De bibliotheek leidt het formaat af uit de bestandsextensie en bestandsheaders. Als de extensie ontbreekt of onduidelijk is, gebruik dan een expliciete opslaan/laadformaatoptie.

Hoe lees ik een cel via zijn letteradres, zoals “B3”?

Gebruik nulgebaseerde rij- en kolomintegers: B3 is rij 2, kolom 1. Converteer letteradressen met ord(col_letter) - ord("A") voor kolommen met één letter. Bijvoorbeeld, B is ord("B") - ord("A") == 1, dus cells.cell(2, 1) komt overeen met B3.

Zie ook

 Nederlands