Manipulieren von Excel -Tabellen mit Python

Manipulieren von Excel -Tabellen mit Python

Microsoft Excel ist eine Tabellenkalkulationssoftware, mit der Tabellaten gespeichert und verwaltet werden. Darüber hinaus können mit Excel Berechnungen durchgeführt werden, indem Formeln auf die Daten angewendet werden, und Datenvisualisierungen können erstellt werden.Viele Aufgaben, die in Tabellenkalkulationen, wie z. 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 festzustellen, ob PIP installiert ist.

C: \ Benutzer \ Windows> PIP -Hilfe

Wenn der Hilfeinhalt von PIP zurückgegeben wird, wird PIP installiert. Ansonsten gehen Sie zum folgenden Link und laden Sie den 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 dem Installieren von PIP kann der folgende Befehl zur Installation von OpenPyxl verwendet werden.

C: \ Benutzer \ Windows> PIP Installieren Sie OpenPyxl

Erstellen eines Excel -Dokuments

In diesem Abschnitt werden wir das OpenPyxl -Modul verwenden, um ein Excel -Dokument zu erstellen. Öffnen Sie zunächst die Eingabeaufforderung, indem Sie "CMD" in der Suchleiste eingeben. Dann geben Sie ein

C: \ Benutzer \ Windows> Python

Um ein Excel -Arbeitsbuch zu erstellen, importieren wir das OpenPyxl -Modul und verwenden dann die Methode 'Workbook ()', um ein Arbeitsbuch zu erstellen.

>>> # Importieren des OpenPyxl -Moduls
>>> OpenPyxl importieren
>>> # Initialisieren eines Arbeitsbuchs
>>> Work_book = openPyxl.Arbeitsmappe()
>>> # Arbeitsmappe als Beispiel speichern.xlsx '
>>> Work_Book.Speichern ('Beispiel.XLSX ')

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

Blätter in einem Excel -Dokument manipulieren

Wir haben ein Excel -Dokument namens Beispiel erstellt.xlsx. Jetzt werden wir die Blätter dieses Dokuments mit Python manipulieren. Das OpenPyXL -Modul verfügt über eine Methode 'create_sheet ()', mit der ein neues Blatt erstellt werden kann. Diese Methode nimmt zwei Argumente an: Index und Titel. Der Index definiert die Platzierung des Blattes unter Verwendung einer nicht negativen Ganzzahl (einschließlich 0), und der Titel ist der Titel des Blattes. Eine Liste aller Blätter im Objekt Work_Book kann angezeigt werden, indem die Liste der SheetNames -Liste aufgerufen wird.

>>> # OpenPyxl importieren
>>> OpenPyxl importieren
>>> # Das vorhandene Excel -Dokument in Work_Book -Objekt laden
>>> Work_book = openPyxl.load_workbook ('Beispiel.XLSX ')
>>> # Erstellen eines neuen Blattes unter dem 0. Index
>>> Work_Book.create_sheet (index = 0, title = 'erster Blatt')

>>> # Alle Blätter bekommen
>>> Work_Book.Sheetnamen
['Erstes Blatt', 'Blatt']
>>> # Excel -Dokument speichern
>>> Work_Book.Speichern ('Beispiel.XLSX ')

Im obigen Code haben wir ein Blatt mit dem Namen First Sheet erstellt und auf den 0. Index platziert. Das zuvor am 0. Index befindliche Blatt wurde in den 1. Index verschoben, wie in der Ausgabe gezeigt. Jetzt werden wir den Namen des Originalblatts von Blatt zum zweiten Blatt ändern.

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

>>> # Active Sheet aus dem Excel -Dokument abrufen
>>> Sheet = Work_Book.aktiv
>>> # Druckblattname
>>> drucken (Blatt.Titel)
Erstes Blatt >>> # navigieren zum zweiten Blatt (unter Index 1)
>>> Work_Book.aktiv = 1
>>> # aktives Blatt bekommen
>>> Sheet = Work_Book.aktiv
>>> # Druckblattname
>>> drucken (Blatt.Titel)
Blatt >>> # Blatttitel
>>> Blatt.Titel = 'zweites Blatt'
>>> # Druckblatt Titel
>>> drucken (Blatt.Titel)
Zweites Blatt

Ebenso können wir ein Blatt aus dem Excel -Dokument entfernen. Das OpenPyxl -Modul bietet die Methode REMET () zum Entfernen eines Blattes. Diese Methode nimmt den Namen des Blattes an, das als Argument entfernt werden soll, und beseitigt dann dieses Blatt. Wir können das zweite Blatt wie folgt entfernen:

>>> # ein Blatt mit Namen entfernen
>>> Work_Book.entfernen (Work_Book ['zweites Blatt'])
>>> # Alle Blätter bekommen
>>> Work_Book.Sheetnamen
['Erstes Blatt']
>>> # Excel -Dokument speichern
>>> Work_Book.Speichern ('Beispiel.XLSX ')

Daten zu Zellen hinzufügen

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

>>> # OpenPyxl importieren
>>> OpenPyxl importieren
>>> # Arbeitsmappe laden
>>> Work_book = openPyxl.load_workbook ('Beispiel.XLSX ')
>>> # Erstellen eines neuen Blattes im 1. Index
>>> Work_Book.create_sheet (index = 1, title = 'zweites Blatt')

>>> # Erstellen eines neuen Blattes im 2. Index
>>> Work_Book.create_sheet (index = 2, title = 'drittes Blatt')

>>> # Alle Blätter bekommen
>>> Work_Book.Sheetnamen
['Erstblatt', 'zweites Blatt', 'drittes Blatt']

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

>>> # Erstes Blatt bekommen
>>> Sheet_1 = Work_book ['Erstblatt']
>>> # Daten zu 'a1' Zelle des ersten Blattes hinzufügen
>>> Sheet_1 ['a1'] = 'Name' '
>>>> # Zweitblatt bekommen
>>> Sheet_2 = Work_book ['zweites Blatt']
>>> # Daten zu 'a1' Zelle des zweiten Blattes hinzufügen
>>> Sheet_2 ['a1'] = 'id'
>>>> # drittes Blatt bekommen
>>> Sheet_3 = Work_book ['drittes Blatt']
>>> # Daten zur A1 -Zelle des dritten Blattes hinzufügen
>>> Sheet_3 ['A1'] = 'Grade'
>>> # Sparen von Excel -Arbeitsbuch
>>> Work_Book.Speichern ('Beispiel.XLSX ')

Excel -Blätter lesen

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

>>> # OpenPyxl importieren
>>> OpenPyxl importieren
>>> # Arbeitsmappe laden
>>> Work_book = openPyxl.load_workbook ('Beispiel.XLSX ')
>>> # Erstes Blatt bekommen
>>> Sheet_1 = Work_book ['Erstblatt']
>>>> # Zweitblatt bekommen
>>> Sheet_2 = Work_book ['zweites Blatt']
>>>> # drittes Blatt bekommen
>>> Sheet_3 = Work_book ['drittes Blatt']
>>> # Datendruckdaten aus 'A1' Zelle des ersten Blattes
>>> print (Sheet_1 ['A1'].Wert)
Name
>>> # Datendruckdaten aus 'A1' Zelle des zweiten Blattes
>>> print (Sheet_2 ['A1'].Wert)
AUSWEIS
>>> # Datendruckdaten aus 'A1' Zelle des dritten Blattes
>>> print (Sheet_3 ['A1'].Wert)
Noten

Schriftarten und Farben ändern

Als nächstes zeigen wir Ihnen, wie Sie die Schrift einer Zelle mit der Funktion font () verändern können. Importieren Sie zunächst den OpenPyxl.Stylesobjekt. Die Font () -Methode enthält eine Liste von Argumenten, darunter:

  • Name (Zeichenfolge): Der Name der Schriftart
  • Größe (int oder float): Die Größe der Schriftart
  • Unterstreichung (Zeichenfolge): Der Untersteiltyp
  • Farbe (Zeichenfolge): Die hexadezimale Farbe des Textes
  • kursiv (bool): ob die Schriftart kursiv gemacht wird
  • fett (bool): ob die Schriftart fett ist

Um Stile anzuwenden, müssen wir zunächst ein Objekt erstellen, indem wir alle Parameter an die font () -Methode weitergeben. Dann wählen wir das Blatt aus und in dem Blatt wählen wir die Zelle aus, auf die wir den Stil anwenden möchten. Dann wenden wir Stil auf die ausgewählte Zelle an.

>>> # OpenPyxl importieren
>>> OpenPyxl importieren
>>> # eine Schriftmethode aus OpenPyxl importieren.Stile
>>> von openpyxl.Styles importieren Schrift
>>> # Arbeitsmappe laden
>>> Work_book = openPyxl.load_workbook ('Beispiel.XLSX ')
>>> # Style -Objekt erstellen
>>> style = font (name = 'consolas', size = 13, bold = true,
… Italic = false)
>>> # Blatt aus der Arbeitsmappe auswählen
>>> Sheet_1 = Work_book ['Erstblatt']
>>> # Auswählen der Zelle, die wir Stile hinzufügen möchten
>>> a1 = Sheet_1 ['A1']
>>> # Antragsstile auf die Zelle anwenden
>>> a1.Schriftart = Stil
>>> # Arbeitsmappe speichern
>>> Work_Book.Speichern ('Beispiel.XLSX ')

Ränder an Zellen anwenden

Wir können Grenzen auf die Zellen in einem Excel -Blatt unter Verwendung der Methoden von Border () und Side () des OpenPyxl anwenden.Stile.Grenzen Modul. Wir können verschiedene Funktionen als Parameter an die Border () -Methode übergeben. Im Folgenden finden Sie einige der Funktionen, die als Parameter an die Methode von Border () übergeben werden, um die Dimensionen der Grenze zu definieren.

  • links: Tragen Sie einen Rand auf der linken Seite einer Zelle auf
  • Rechts: Tragen Sie einen Rand auf die rechte Seite einer Zelle auf
  • Spitze: Wenden Sie einen Rand auf die Spitze einer Zelle an
  • Unterseite: Wenden Sie einen Rand auf den Boden einer Zelle an

Diese Funktionen nehmen Stilattribute als Parameter an. Das Style -Attribut definiert den Stil der Grenze (e.G., solide, gestrichelt). Stilparameter können einen der folgenden Werte haben.

  • doppelt: Eine Doppelgrenzegrenze
  • gestrichelt: eine gestrichelte Grenze
  • dünn: Ein dünner Rand
  • Mittel: ein mittlerer Rand
  • Mediumdashdot: ein gestrichelten und gepunkteten Rand des mittleren Gewichts
  • dick: Ein dicker Rand
  • Strich Punkt: eine gestrichelte und gepunktete Rande
  • Haar: ein sehr dünner Rand
  • gepunktet: eine gepunktete Grenze

Jetzt werden wir verschiedene Arten von Grenzen auf verschiedene Zellen unserer Tabellen anwenden. Zuerst wählen wir Zellen und definieren dann Grenzstile und wenden diese Stile auf verschiedene Zellen an.

>>> # OpenPyxl importieren
>>> OpenPyxl importieren
>>> # Importieren von Rand- und Seitenklassen importieren
>>> von openpyxl.Stile.Grenze importieren Grenze, Seite
>>> # Arbeitsmappe laden
>>> Work_book = openPyxl.load_workbook ('Beispiel.XLSX ')
>>> # Blatt auswählen
>>> Sheet_1 = Work_book ['Erstblatt']
>>> # Auswählen verschiedener Zellen aus dem Blatt
>>> cell_1 = Sheet_1 ['A1']
>>> cell_2 = Sheet_1 ['B2']
>>> cell_3 = Sheet_1 ['C3']
>>> # Definieren verschiedener Grenzstile
>>> style_1 = border (boden = Seite (style = 'gepunktet'))
>>> style_2 = border (rechts = Seite (style = 'din'))
>>> style_3 = border (top = Seite (style = 'Dashdot'))
>>> # Auftragen von Randstilen auf die Zellen
>>> cell_1.border = style_1
>>> cell_2.border = style_2
>>> cell_3.border = style_3
>>> # Arbeitsmappe speichern
>>> Work_Book.Speichern ('Beispiel.XLSX ')

Einstellen von Zeilen- und Spaltenabmessungen

Die Zeilenhöhe und die Säulenbreite eines Excel -Dokuments können auch mit Python eingestellt werden. Das OpenPYXL-Modul verfügt über zwei integrierte Methoden, mit denen diese Aktionen durchgeführt werden können. Zunächst wählen wir das Blatt aus, das wir die Spaltenbreite oder Zeilenhöhe ändern möchten. Anschließend wenden wir eine Methode auf die spezifische Zeile oder Spalte an.

>>> # OpenPyxl importieren
>>> OpenPyxl importieren
>>> # Arbeitsmappe laden
>>> Work_book = openPyxl.load_workbook ('Beispiel.XLSX ')
>>> # Blatt auswählen
>>> Sheet_1 = Work_book ['Erstblatt']
>>> # Ändern der Höhe der ersten Reihe
>>> Sheet_1.row_dimensions [1].Höhe = 50
>>> # Arbeitsmappe speichern
>>> Work_Book.Speichern ('Beispiel.XLSX ')

In ähnlicher Weise können wir die Breite einer Spalte mit dem folgenden Code ändern

>>> # Auswahl von Blatt aus Excel Arbeitsmappe
>>> Sheet_2 = Work_book ['zweites Blatt']
>>> # Ändern der Breite einer Spalte
>>> Sheet_2.column_dimensions ['a'].Breite = 50
>>> # Arbeitsmappe speichern
>>> Work_Book.Speichern ('Beispiel.XLSX ')

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

Zellen verschmelzen und entfernen

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

>>> # Importieren des OpenPyxl -Moduls
>>> OpenPyxl importieren
>>> # Arbeitsmappe laden
>>> Work_book = openPyxl.load_workbook ('Beispiel.XLSX ')
>>> # Auswählen des ersten Blattes aus der Excel -Arbeitsmappe
>>> Sheet_1 = Work_book ['Erstblatt']
>>> # Zellen von A1 nach B2 in Blatt 1 verschmelzen
>>> Sheet_1.merge_cells ('a1: b2')
>>> # Arbeitsmappe speichern
>>> Work_Book.Speichern ('Beispiel.XLSX ')

In ähnlicher Weise kann die Methode unmerge_cells () verwendet werden, um Zellen in einer Excel -Tabelle zu entfernen. Der folgende Code kann verwendet werden, um Zellen zu entfernen:

>>> # Blatt aus der Arbeitsmappe auswählen
>>> Sheet_1 = Work_book ['Erstblatt']
>>> # Zellen von A1 nach B2 entm vorern
>>> Sheet_1.UNMERGE_CELLS ('A1: B2')
>>> # Arbeitsmappe speichern
>>> Work_Book.Speichern ('Beispiel.XLSX ')

Abschluss

Excel -Tabellen werden häufig für die Datenmanipulation 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 des OpenPyxl -Moduls von Python erörtert. Wir haben Ihnen gezeigt, wie Sie Excel -Tabellenkalkulationen erstellen, lesen, entfernen und modifizieren, wie man den Stil verändert, Schriftart, Ränder und Dimensionen von Zellen anwendet und wie man Zellen verschmilzt und nicht. Durch die Anwendung dieser Funktionen können Sie viele Manipulationsaufgaben der Tabelle mit Python automatisieren.