Python

Bearbeiten von Excel-Tabellen mit Python

Bearbeiten von Excel-Tabellen mit Python

Microsoft Excel ist eine Tabellenkalkulationssoftware, die zum Speichern und Verwalten von Tabellendaten verwendet wird. Darüber hinaus können mit Excel Berechnungen durch Anwendung von Formeln auf die Daten durchgeführt und Datenvisualisierungen erstellt werden.Viele in Tabellenkalkulationen ausgeführte Aufgaben, wie beispielsweise mathematische Operationen, können durch Programmierung automatisiert werden, und viele Programmiersprachen verfügen über Module zum Bearbeiten von Excel-Tabellen. In diesem Tutorial zeigen wir Ihnen, wie Sie das Openpyxl-Modul von Python verwenden, um Excel-Tabellen zu lesen und zu ändern.

Installieren von openpyxl

Bevor Sie openpyxl installieren können, müssen Sie pip installieren. Pip wird verwendet, um Python-Pakete zu installieren. Führen Sie den folgenden Befehl in der Eingabeaufforderung aus, um zu sehen, ob pip installiert ist.

C:\Benutzer\windows> pip-Hilfe

Wenn der Hilfeinhalt von pip zurückgegeben wird, wird pip installiert; Andernfalls gehen Sie zum folgenden Link und laden Sie das Get-Pip herunter.py-Datei:

https://bootstrap.pypa.io/get-pip.py

Führen Sie nun den folgenden Befehl aus, um pip zu installieren:

C:\Benutzer\windows> python get-pip.py

Nach der Installation von pip kann der folgende Befehl verwendet werden, um openpyxl . zu installieren.

C:\Benutzer\windows> pip install openpyxl

Erstellen eines Excel-Dokuments

In diesem Abschnitt verwenden wir das openpyxl-Modul, um ein Excel-Dokument zu erstellen. Öffnen Sie zunächst die Eingabeaufforderung, indem Sie 'cmd' in die Suchleiste eingeben. dann geben Sie ein

C:\Benutzer\windows> python

Um eine Excel-Arbeitsmappe zu erstellen, importieren wir das openpyxl-Modul und verwenden dann die Methode 'Workbook()', um eine Arbeitsmappe zu erstellen.

>>> # openpyxl-Modul importieren
>>> openpyxl importieren
>>> # Initialisieren einer Arbeitsmappe
>>> work_book = openpyxl.Arbeitsmappe()
>>> # Arbeitsmappe als "Beispiel" speichern.xlsx'
>>> arbeitsbuch.speichern('Beispiel.xlsx')

Die obigen Befehle erstellen ein Excel-Dokument namens example.xlsx. Als nächstes werden wir dieses Excel-Dokument bearbeiten.

Bearbeiten von Blättern in einem Excel-Dokument

Wir haben ein Excel-Dokument namens example erstellt.xlsx. Jetzt werden wir die Blätter dieses Dokuments mit Python bearbeiten. Das openpyxl-Modul verfügt über eine 'create_sheet()'-Methode, mit der ein neues Blatt erstellt werden kann. Diese Methode benötigt zwei Argumente: index und title. Index definiert die Platzierung des Blatts mit einer beliebigen nicht negativen ganzen Zahl (einschließlich 0) und title ist der Titel des Blatts. Eine Liste aller Blätter im Objekt work_book kann durch Aufrufen der Blattnamenliste angezeigt werden.

>>> # openpyxl importieren
>>> openpyxl importieren
>>> # Laden eines vorhandenen Excel-Dokuments in das work_book-Objekt
>>> work_book = openpyxl.load_workbook('Beispiel.xlsx')
>>> # Erstellen eines neuen Blatts am 0. Index
>>> arbeitsbuch.create_sheet(index=0, title='Erstes Blatt')

>>> # Alle Blätter bekommen
>>> arbeitsbuch.Blattnamen
['Erstes Blatt', 'Blatt']
>>> # Excel-Dokument speichern
>>> arbeitsbuch.speichern('Beispiel.xlsx')

Im obigen Code haben wir ein Blatt mit dem Namen First Sheet erstellt und es am 0. Index platziert. Das Blatt, das sich zuvor am 0. Index befand, wurde in den 1. Index verschoben, wie in der Ausgabe gezeigt. Jetzt ändern wir den Namen des Originalblatts von Blatt in Zweites Blatt change.

Das title-Attribut enthält den Namen des Blatts. Um ein Blatt umzubenennen, müssen wir zuerst wie folgt zu diesem Blatt navigieren.

>>> # Aktives Blatt aus Excel-Dokument abrufen
>>> Blatt = Arbeitsbuch.aktiv
>>> # Druckbogenname
>>> drucken (Blatt.Titel)
Erstes Blatt >>> # Navigieren zum zweiten Blatt (bei Index 1)
>>> arbeitsbuch.aktiv = 1
>>> # Aktives Blatt erhalten
>>> Blatt = Arbeitsbuch.aktiv
>>> # Druckbogenname
>>> drucken (Blatt.Titel)
Blatt >>> # Blatttitel ändern
>>> Blatt.title = 'Zweites Blatt'
>>> # Druckbogentitel
>>> drucken (Blatt.Titel)
Zweites Blatt

Ebenso können wir ein Blatt aus dem Excel-Dokument entfernen. Das openpyxl-Modul bietet die Methode remove(), um ein Blatt zu entfernen. Diese Methode verwendet den Namen des zu entfernenden Blatts als Argument und entfernt dann dieses Blatt. Wir können das zweite Blatt wie folgt entfernen:

>>> # ein Blatt nach Namen entfernen by
>>> arbeitsbuch.remove(work_book['Second Sheet'])
>>> # alle Blätter bekommen
>>> arbeitsbuch.Blattnamen
['Erstes Blatt']
>>> # Excel-Dokument speichern
>>> arbeitsbuch.speichern('Beispiel.xlsx')

Daten zu Zellen hinzufügen

Bisher haben wir Ihnen gezeigt, wie Sie Tabellen in einem Excel-Dokument erstellen oder löschen delete. Jetzt fügen wir Daten zu den Zellen verschiedener Blätter hinzu. In diesem Beispiel haben wir ein einzelnes Blatt mit dem Namen First Sheet in unserem Dokument, und wir möchten zwei weitere Blätter erstellen.

>>> # openpyxl importieren
>>> openpyxl importieren
>>> # Arbeitsmappe laden
>>> work_book = openpyxl.load_workbook('Beispiel.xlsx')
>>> # Erstellen eines neuen Blatts am 1. Index
>>> arbeitsbuch.create_sheet(index=1, title='Zweites Blatt')

>>> # ein neues Blatt am 2. Index erstellen
>>> arbeitsbuch.create_sheet(index=2, title='Drittes Blatt')

>>> # alle Blätter bekommen
>>> arbeitsbuch.Blattnamen
['Erstes Blatt', 'Zweites Blatt', 'Drittes Blatt']

Jetzt haben wir drei Blätter und wir werden den Zellen dieser Blätter Daten hinzufügen.

>>> # Erstes Blatt bekommen
>>> Blatt_1 = Arbeitsbuch['Erstes Blatt']
>>> # Hinzufügen von Daten zur Zelle 'A1' des ersten Blatts
>>> Blatt_1['A1'] = 'Name'
>>> # Zweites Blatt bekommen
>>> sheet_2 = work_book['Second Sheet']
>>> # Hinzufügen von Daten zur Zelle 'A1' des zweiten Blatts
>>> Blatt_2['A1'] = 'ID'
>>> # Drittes Blatt bekommen
>>> sheet_3 = work_book['Drittes Blatt']
>>> # Hinzufügen von Daten zur Zelle 'A1' des dritten Blatts
>>> sheet_3['A1'] = 'Noten'
>>> # Excel-Arbeitsmappe speichern
>>> arbeitsbuch.speichern('Beispiel.xlsx')

Lesen von Excel-Tabellen

Das openpyxl-Modul verwendet das value-Attribut einer Zelle, um die Daten dieser Zelle zu speichern. Wir können die Daten in einer Zelle lesen, indem wir das value-Attribut der Zelle aufrufen. Jetzt haben wir drei Blätter, und jedes Blatt enthält einige Daten. Wir können die Daten lesen, indem wir die folgenden Funktionen in openpyxl verwenden:

>>> # openpyxl importieren
>>> openpyxl importieren
>>> # Arbeitsmappe laden
>>> work_book = openpyxl.load_workbook('Beispiel.xlsx')
>>> # Erstes Blatt bekommen
>>> Blatt_1 = Arbeitsbuch['Erstes Blatt']
>>> # Zweites Blatt bekommen
>>> sheet_2 = work_book['Second Sheet']
>>> # Drittes Blatt bekommen
>>> sheet_3 = work_book['Drittes Blatt']
>>> # Druckdaten aus Zelle 'A1' des ersten Blatts
>>> drucken(blatt_1['A1'].Wert)
Name
>>> # Druckdaten aus Zelle 'A1' des zweiten Blatts
>>> drucken(sheet_2['A1'].Wert)
ICH WÜRDE
>>> # Druckdaten aus Zelle 'A1' des dritten Blatts
>>> drucken(sheet_3['A1'].Wert)
Noten

Ändern von Schriftarten und Farben

Als Nächstes zeigen wir Ihnen, wie Sie die Schriftart einer Zelle mit der Funktion Font() ändern. Importieren Sie zuerst die openpyxl.Stile Objekt. Die Methode Font() nimmt eine Liste von Argumenten entgegen, einschließlich:

  • Name (Zeichenfolge): der Name der Schriftart
  • Größe (int oder float): die Größe der Schrift
  • unterstreichen (Zeichenfolge): der Unterstreichungstyp
  • Farbe (Schnur): die hexadezimale Farbe des Textes
  • kursiv (bool): ob die Schriftart kursiv ist
  • fett (bool): ob die Schriftart fett ist

Um Stile anzuwenden, müssen wir zuerst ein Objekt erstellen, indem wir alle Parameter an die Methode Font() übergeben. Dann wählen wir das Blatt aus und innerhalb des Blatts wählen wir die Zelle aus, auf die wir den Stil anwenden möchten. Dann wenden wir den Stil auf die ausgewählte Zelle an.

>>> # openpyxl importieren
>>> openpyxl importieren
>>> # Importieren der Font-Methode von openpyxl.Stile
>>> von openpyxl.Stile importieren Schriftart
>>> # Arbeitsmappe laden
>>> work_book = openpyxl.load_workbook('Beispiel.xlsx')
>>> # Stilobjekt erstellen
>>> style = Font(name='Consolas', size=13, bold=True,
… kursiv=Falsch)
>>> # Blatt aus Arbeitsmappe auswählen
>>> Blatt_1 = Arbeitsbuch['Erstes Blatt']
>>> # Wählen Sie die Zelle aus, der wir Stile hinzufügen möchten
>>> a1 = Blatt_1['A1']
>>> # Stile auf die Zelle anwenden
>>> a1.Schriftart = Stil
>>> # Arbeitsmappe speichern
>>> arbeitsbuch.speichern('Beispiel.xlsx')

Anwenden von Rahmen auf Zellen

Wir können den Zellen in einem Excel-Blatt mit den Methoden Border() und Side() von openpyxl Rahmen zuweisen.Stile.Grenzen-Modul. Wir können verschiedene Funktionen als Parameter an die Methode Border() übergeben. Im Folgenden sind einige der Funktionen aufgeführt, die als Parameter an die Methode Border() übergeben werden, um die Abmessungen des Rahmens zu definieren.

  • links: Wenden Sie einen Rahmen auf die linke Seite einer Zelle an
  • Recht: Anwenden eines Rahmens auf die rechte Seite einer Zelle
  • oben: Wenden Sie einen Rahmen am oberen Rand einer Zelle an
  • Unterseite: Wenden Sie einen Rahmen am unteren Rand einer Zelle an

Diese Funktionen verwenden Stilattribute als Parameter. Das style-Attribut definiert den Stil des Rahmens (z.G., durchgezogen, gestrichelt). Stilparameter können einen der folgenden Werte haben.

  • doppelt: ein doppelter Linienrand
  • gestrichelt: eine gestrichelte Grenze
  • dünn: ein dünner Rand
  • Mittel: ein mittlerer Rand
  • mittelStrichPunkt: eine gestrichelte und gepunktete Grenze von mittlerem Gewicht
  • dick: ein dicker Rand
  • Strich Punkt: eine gestrichelte und gepunktete Grenze
  • Haar: ein sehr dünner Rand
  • gepunktet: eine gepunktete Grenze

Jetzt werden wir verschiedene Arten von Rahmen auf verschiedene Zellen unserer Tabellenkalkulationen anwenden apply. Zuerst wählen wir Zellen aus, dann definieren wir Rahmenstile und wenden diese Stile auf verschiedene Zellen an.

>>> # openpyxl importieren
>>> openpyxl importieren
>>> # Border- und Side-Klassen importieren
>>> von openpyxl.Stile.Grenzen importieren Grenze, Side
>>> # Arbeitsmappe laden
>>> work_book = openpyxl.load_workbook('Beispiel.xlsx')
>>> # Blatt auswählen
>>> Blatt_1 = Arbeitsbuch['Erstes Blatt']
>>> # Auswahl verschiedener Zellen aus dem Blatt
>>> Zelle_1 = Blatt_1['A1']
>>> Zelle_2 = Blatt_1['B2']
>>> Zelle_3 = Blatt_1['C3']
>>> # Definieren verschiedener Rahmenstile
>>> style_1 = Border(bottom=Side(style='dotted'))
>>> style_2 = Border(right=Side(style='thin'))
>>> style_3 = Rand(top=Side(style='dashDot'))
>>> # Anwenden von Rahmenstilen auf die Zellen
>>> Zelle_1.Rahmen = style_1
>>> Zelle_2.Rahmen = style_2
>>> Zelle_3.Rahmen = style_3
>>> # Arbeitsmappe speichern
>>> arbeitsbuch.speichern('Beispiel.xlsx')

Anpassen von Zeilen- und Spaltenabmessungen

Die Zeilenhöhe und Spaltenbreite eines Excel-Dokuments kann auch mit Python angepasst werden. Das openpyxl-Modul verfügt über zwei integrierte Methoden, mit denen diese Aktionen ausgeführt werden können. Zuerst wählen wir das Blatt aus, dessen Spaltenbreite oder Zeilenhöhe geändert werden soll. Dann wenden wir eine Methode auf die bestimmte Zeile oder Spalte an.

>>> # openpyxl importieren
>>> openpyxl importieren
>>> # Arbeitsmappe laden
>>> work_book = openpyxl.load_workbook('Beispiel.xlsx')
>>> # Auswahlblatt
>>> Blatt_1 = Arbeitsbuch['Erstes Blatt']
>>> # die Höhe der ersten Reihe ändern
>>> Blatt_1.Zeilendimensionen[1].Höhe = 50
>>> # Arbeitsmappe speichern
>>> arbeitsbuch.speichern('Beispiel.xlsx')

Ebenso können wir die Breite einer Spalte mit dem folgenden Code ändern

>>> # Blatt aus Excel-Arbeitsmappe auswählen
>>> sheet_2 = work_book['Second Sheet']
>>> # Ändern der Breite von A-Spalte
>>> Blatt_2.column_dimensions['A'].Breite = 50
>>> # Arbeitsmappe speichern
>>> arbeitsbuch.speichern('Beispiel.xlsx')

Der obige Code ändert die Höhe der ersten Zeile auf 50 pts und die Breite der Spalte A auf 50 pts.

Zellen zusammenführen und aufheben

Bei der Arbeit mit Excel-Tabellen müssen wir oft Zellen zusammenführen und wieder aufheben. Um Zellen in Python zusammenzuführen, kann eine einfache auf openpyxl basierende Funktion verwendet werden. Das openpyxl-Modul bietet die Methode merge_cells(), mit der Zellen in Excel zusammengeführt werden können. Die neue Zelle nimmt den Namen der oberen linken Zelle an. Wenn wir beispielsweise die Zellen von Zelle A1 zu Zelle B2 zusammenführen möchten, wird die neu gebildete Zelle als A1 bezeichnet. Um Zellen mit openpyxl zusammenzuführen, wählen wir zuerst das Blatt aus und wenden dann die Methode merge_cells() auf das Blatt an.

>>> # openpyxl-Modul importieren
>>> openpyxl importieren
>>> # Arbeitsmappe laden
>>> work_book = openpyxl.load_workbook('Beispiel.xlsx')
>>> # Erstes Blatt aus Excel-Arbeitsmappe auswählen
>>> Blatt_1 = Arbeitsbuch['Erstes Blatt']
>>> # Zellen von A1 nach B2 in Blatt 1 zusammenführen
>>> Blatt_1.merge_cells('A1:B2')
>>> # Arbeitsmappe speichern
>>> arbeitsbuch.speichern('Beispiel.xlsx')

Ebenso kann die Methode unmerge_cells() verwendet werden, um Zellen in einer Excel-Tabelle aufzuheben. Der folgende Code kann verwendet werden, um die Zusammenführung von Zellen aufzuheben:

>>> # Blatt aus Arbeitsmappe auswählen
>>> Blatt_1 = Arbeitsbuch['Erstes Blatt']
>>> # Zellen von A1 bis B2 aufheben
>>> Blatt_1.unmerge_cells('A1:B2')
>>> # Arbeitsmappe speichern
>>> arbeitsbuch.speichern('Beispiel.xlsx')

Fazit

Excel-Tabellen werden häufig für die Datenbearbeitung verwendet. Solche Aufgaben können jedoch eintönig sein. Daher kann in solchen Fällen die Programmierung verwendet werden, um die Manipulation von Tabellenkalkulationen zu automatisieren.

In diesem Artikel haben wir einige der nützlichen Funktionen von Pythons openpyxl-Modul besprochen. Wir haben Ihnen gezeigt, wie Sie Excel-Tabellen erstellen, lesen, entfernen und ändern, wie Sie den Stil ändern, Schriftart, Rahmen und Abmessungen von Zellen anwenden und wie Sie Zellen zusammenführen und wieder aufheben. Durch Anwenden dieser Funktionen können Sie viele Aufgaben zur Bearbeitung von Tabellenkalkulationen mit Python automatisieren.

So ändern Sie Mauszeiger- und Cursorgröße, Farbe und Schema unter Windows 10
Der Mauszeiger und der Cursor in Windows 10 sind sehr wichtige Aspekte des Betriebssystems. Dies kann auch für andere Betriebssysteme gesagt werden, a...
Kostenlose und Open-Source-Spiele-Engines für die Entwicklung von Linux-Spielen
Dieser Artikel behandelt eine Liste von kostenlosen und Open-Source-Spiele-Engines, die für die Entwicklung von 2D- und 3D-Spielen unter Linux verwend...
Shadow of the Tomb Raider für Linux Tutorial
Shadow of the Tomb Raider ist die zwölfte Erweiterung der Tomb Raider-Reihe – ein Action-Adventure-Franchise von Eidos Montrealdos. Das Spiel wurde vo...