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-fossVerifieer 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 WorkbookStap 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.