Python lesen Excel-Datei Tutorial
Dieses Handbuch bietet Python-Entwicklern eine Schritt-für-Schritt-Anleitung zur Verwendung der IronXL-Bibliothek zum Lesen und Bearbeiten von Microsoft Excel-Dokumenten.
IronXL ist eine umfassende Bibliothek zur Verarbeitung von Excel-Dateien, die mehrere Programmiersprachen unterstützt, darunter.NET undPython programmiersprachen. Dieses Tutorial konzentriert sich speziell auf die Verwendung von IronXL in Python-Skripten zum Lesen und Bearbeiten von Microsoft Excel-Dokumenten.
Eine separate Anleitung zum Lesen und Bearbeiten von Microsoft Excel-Dokumenten in .NET-Anwendungen finden Sie unterhier.
Das Lesen und Erstellen von Excel-Dateien in Python ist mit der Softwarebibliothek IronXL for Python ganz einfach.
Übersicht
Wie man Excel-Dateien in Python liest
- Laden Sie die Python-Bibliothek zum Lesen von Excel-Dateien herunter
- Laden und Lesen einer Excel-Datei (Arbeitsmappe)
- Erstellen einer Excel-Arbeitsmappe in CSV oder XLSX
- Bearbeiten von Zellwerten in einem Bereich von Zellen
- Tabellenkalkulationsdaten validieren
- Daten mit Entity Framework exportieren
Tutorial
Schritt 1: Fügen Sie IronXL als Abhängigkeit in Ihrem Python-Projekt hinzu
Um die IronXL-Bibliothek in Ihr Python-Projekt zu integrieren, müssen Sie sie als Abhängigkeit mit dem weit verbreiteten Python-Paketverwaltungswerkzeug pip installieren. Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus:
pip-Installation IronXL
Dadurch wird die angegebene Version von IronXL in Ihrem Projekt installiert, so dass sie für den Import zugänglich ist.
Bitte beachten Sie
2. Laden einer Excel-Arbeitsmappe
Die Klasse WorkBook
stellt ein Excel-Blatt dar. Um eine Excel-Datei zu öffnen, verwenden wir die Methode WorkBook.Load
und geben den Pfad der Excel-Datei an.
# Load existing spreadsheet
workbook = WorkBook.Load("Spreadsheets\\GDP.xlsx")
Jedes WorkBook
kann mehrere WorkSheet
-Objekte haben. Jedes dieser Blätter steht für ein einzelnes Excel-Arbeitsblatt im Excel-Dokument. Verwenden Sie die Methode WorkBook.GetWorkSheet
, um einen Verweis auf ein bestimmtes Excel-Arbeitsblatt abzurufen.
# Assuming workBook is an existing instance of WorkBook
workSheet = workBook.GetWorkSheet("GDPByCountry")
Neue Excel-Dokumente erstellen
Um ein neues Excel-Dokument zu erstellen, konstruieren Sie ein neues WorkBook
-Objekt mit einem gültigen Dateityp.
# Create a new WorkBook with the specified Excel file format
workBook = WorkBook(ExcelFileFormat.XLSX)
Hinweis: Verwenden Sie ExcelFileFormat.XLS
, um ältere Versionen von Microsoft Excel zu unterstützen(95 und früher).
Einem Excel-Dokument ein Arbeitsblatt hinzufügen
Wie bereits erläutert, enthält ein IronXL for Python WorkBook
eine Sammlung von einem oder mehreren WorkSheets
.
Um ein neues Arbeitsblatt zu erstellen, rufen Sie WorkBook.CreateWorkSheet
mit dem Namen des Arbeitsblatts auf.
workSheet = workBook.CreateWorkSheet("GDPByCountry")
3. Zugriff auf Zellenwerte
Lesen und Bearbeiten einer einzelnen Zelle
Der Zugriff auf die Werte einzelner Rechenblattzellen erfolgt durch Abrufen der gewünschten Zelle aus ihrem "Arbeitsblatt", wie unten dargestellt:
# Load existing spreadsheet
workbook = WorkBook.Load("test.xlsx")
worksheet = workbook.DefaultWorkSheet
# Access cell B1 in the worksheet
cell = worksheet["B1"]
Die Klasse Cell
von IronXL for Python stellt eine einzelne Zelle in einer Excel-Tabelle dar. Sie enthält Eigenschaften und Methoden, mit denen der Benutzer direkt auf den Wert der Zelle zugreifen und ihn ändern kann.
Jedes WorkSheet
-Objekt verwaltet einen Index von Cell
-Objekten, die jedem Zellwert in einem Excel-Arbeitsblatt entsprechen. Im obigen Quellcode verweisen wir auf die gewünschte Zelle durch ihren Zeilen- und Spaltenindex(zelle B1 in diesem Fall) unter Verwendung der Standard-Array-Indexierungssyntax.
Mit einem Verweis auf das Cell-Objekt können wir Daten aus und in eine Tabellenkalkulationszelle lesen und schreiben:
# Access cell B1 in the worksheet
cell = workSheet["B1"]
# Read the value of the cell as a string
value = cell.StringValue
print(value)
# Write a new value to the cell
cell.Value = "10.3289"
print(cell.StringValue)
Lesen und Schreiben eines Bereichs von Zellwerten
Die Klasse "Range" stellt eine zweidimensionale Sammlung von "Cell"-Objekten dar. Diese Sammlung bezieht sich auf einen wörtlichen Bereich von Excel-Zellen. Abrufen von Bereichen durch Verwendung des String-Indexers auf einem WorkSheet
-Objekt.
Das Argument text ist entweder die Koordinate einer Zelle(z. B. "A1", wie zuvor gezeigt) oder eine Spanne von Zellen von links nach rechts von oben nach unten(z.B. "B2:E5"). Es ist auch möglich, GetRange
auf einem WorkSheet
aufzurufen.
# Access range D2:D101 in the worksheet
range_ = workSheet["D2:D101"]
Formel zu einem Arbeitsblatt hinzufügen
Festlegen der Formel von "Zellen" mit der Eigenschaft "Formel".
Der folgende Code durchläuft jeden Zustand und gibt in Spalte C einen Gesamtprozentsatz an.
# Iterate through all rows with a value
for y in range(2, i):
# Get the C cell
cell = workSheet[f"C{y}"]
# Set the formula for the Percentage of Total column
cell.Formula = f"=B{y}/B{i}"
Zusammenfassung
IronXL.Excel ist eine eigenständige Python-Bibliothek zum Lesen einer Vielzahl von Tabellenkalkulationsformaten. Es ist nicht erforderlichMicrosoft Excel installiert werden muss und nicht von Interop abhängig ist.