Wie man ein Spreadsheet in Python lädt

Wie man ein Spreadsheet in Python lädt

Dieser Leitfaden zeigt, wie man XLSX- und CSV-Tabellendateien in Python mit Workbook lädt, Arbeitsblätter mit get_worksheet() zugreift und Zellwerte über das Worksheet.cells-Raster liest. Die Bibliothek läuft in reinem Python ohne Microsoft Office oder native Erweiterungen.

Schritt-für-Schritt-Anleitung

Schritt 1: Paket installieren

Installieren Sie das Aspose.Cells FOSS-Paket von PyPI mit dem untenstehenden pip-Befehl:

pip install aspose-cells-foss

Überprüfen Sie die Installation, indem Sie Workbook importieren und eine Bestätigungsnachricht ausgeben:

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

Schritt 2: Erforderliche Klassen importieren

Importieren Sie die Workbook-Klasse aus aspose.cells_foss, um auf das Laden der Tabellenkalkulation API zuzugreifen:

from aspose.cells_foss import Workbook

Schritt 3: Arbeitsmappe aus einer Datei laden

Übergeben Sie den Dateipfad-String an Workbook(), um eine vorhandene Tabellenkalkulation zu laden. Der Konstruktor akzeptiert ein optionales password-Argument für geschützte Dateien:

from aspose.cells_foss import Workbook

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

Schritt 4: Auf ein Arbeitsblatt zugreifen

Verwenden Sie get_worksheet() mit einem ganzzahligen Index (0-basiert) oder dem Blattnamen-String. Nutzen Sie die worksheets-Eigenschaft, um zu sehen, wie viele Blätter die Arbeitsmappe enthält:

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

Schritt 5: Zellwerte lesen

Greifen Sie über die Worksheet.cells-Eigenschaft auf Zellen zu. Verwenden Sie Cells.cell(row, col), um ein Cell anhand seiner nullbasierten Zeilen- und Spaltenkoordinaten abzurufen. Lesen Sie die Daten mit der Cell.value-Eigenschaft. Nutzen Sie Cell.is_empty(), um leere Zellen sicher zu überspringen:

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

Schritt 6: Alle Zeilen iterieren

Verwenden Sie Cells.iter_rows(), um alle Zeilen zu durchlaufen, ohne die Abmessungen zu kennen. Übergeben Sie values_only=True, um reine Python-Werte anstelle von Cell-Objekten zu erhalten:

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)

Häufige Probleme und Lösungen

FileNotFoundError beim Laden Stellen Sie sicher, dass der Pfad korrekt ist und die Datei existiert. Verwenden Sie pathlib.Path für portable Pfade: Workbook(str(Path("data") / "report.xlsx")).

Cell.value returns None Die Zelle ist leer oder außerhalb des Bereichs. Verwenden Sie Cell.is_empty() um vor dem Lesen zu prüfen value. Koordinaten außerhalb des Bereichs lösen keine Fehler aus – sie geben leere Zellen zurück.

Passwortgeschützte Datei löst einen Fehler aus Geben Sie das Passwort als zweites Argument an: Workbook("protected.xlsx", "secret").

Nur das erste Sheet wird geladen, wenn eine CSV gelesen wird CSV-Dateien enthalten ein einzelnes Sheet. Verwenden Sie Workbook.load_csv(file_path) auf einer bestehenden Workbook Instanz, wenn Sie CSV-Daten in eine bestimmte Sheet-Position importieren müssen, anstatt sie über die Workbook() Konstruktor direkt.

Sheet-Name nicht gefunden mit get_worksheet(name) Sheet-Namen sind case-sensitive. Drucken Sie ws.name für jeden Index in wb.worksheets um den genauen Namen vor dem Aufruf zu bestätigen get_worksheet("Name").

Häufig gestellte Fragen

Funktioniert das unter Linux und macOS?

Ja. aspose-cells-foss ist reines Python und läuft auf Windows, macOS, Linux und Docker-Containern ohne native Erweiterungen oder Systemabhängigkeiten.

Welche Dateiformate kann ich laden?

Der Workbook()-Konstruktor unterstützt XLSX-Dateien. CSV-Dateien können geladen werden, indem man einen .csv-Pfad übergibt oder Workbook.load_csv(file_path) auf einer Workbook-Instanz aufruft.

Wie finde ich die letzte Zeile mit Daten?

Iterieren Sie mit Cells.iter_rows() und stoppen Sie, wenn alle Werte in einer Zeile None sind, oder verwenden Sie Cell.is_empty() auf Randzellen, um zu erkennen, wo die Daten enden.

Kann ich eine Arbeitsmappe öffnen, ohne ihr Format im Voraus zu kennen?

Übergeben Sie den Dateipfad an Workbook(file_path). Die Bibliothek ermittelt das Format anhand der Dateierweiterung und der Dateiköpfe. Fehlt die Erweiterung oder ist sie mehrdeutig, verwenden Sie eine explizite Speicher-/Ladeformat-Option.

Wie lese ich eine Zelle anhand ihrer Buchstabenadresse wie “B3”?

Verwenden Sie nullbasierte Zeilen- und Spaltenzahlen: B3 ist Zeile 2, Spalte 1. Konvertieren Sie Buchstabenadressen mit ord(col_letter) - ord("A") für einbuchstabige Spalten. Zum Beispiel ist B ord("B") - ord("A") == 1, sodass cells.cell(2, 1) auf B3 abbildet.

Siehe auch

 Deutsch