Ich glaube, Sie haben gelegentlich Microsoft Excel verwendet. Es ist sehr leistungsfähig, wenn Sie mit Tabellenkalkulationen, Tabellen, Diagrammen usw. arbeiten. Aber was hat Python damit zu tun??
Python ist ein entscheidender Faktor, wenn es um Excel-Dateien geht, denn es kann schwierige Dinge automatisieren, die bei Excel-Aufgaben auftreten können. Beispielsweise müssen Sie möglicherweise in Hunderten von Tabellenkalkulationen nach Informationen nach den Budgets des Unternehmens suchen. Sehr entmutigend, nicht wahr? In diesem Lernprogramm werde ich Ihnen zeigen, wie Python problemlos für die Arbeit mit Excel-Dokumenten verwendet werden kann.
Machen Sie sich keine Sorgen, wenn Sie Microsoft Excel nicht auf Ihrem Computer installiert haben. Sie können andere Alternativen verwenden, um dieses Lernprogramm durchzugehen, beispielsweise LibreOffice Calc und OpenOffice Calc.
Also lasst uns anfangen!
OpenPyXL
ist eine Bibliothek zum Lesen und Schreiben von Excel 2010 xlsx / xlsm / xltx / xltm
Dateien. Dies ist die Bibliothek, die wir in diesem Lernprogramm verwenden werden, um mit Excel-Dokumenten zu arbeiten.
Das erste, was wir tun müssen, um diese Bibliothek nutzen zu können, ist die Installation OpenPyXL
.
Um zu installieren OpenPyXL
, wir werden pip verwenden, was (basierend auf Wikipedia):
Ein Paketverwaltungssystem zum Installieren und Verwalten von in Python geschriebenen Softwarepaketen. Viele Pakete sind im Python Package Index (PyPI) zu finden..
Für die Installation können Sie die im Python Packaging User Guide genannten Schritte ausführen Pip
, aber wenn du hast Python 2.7.9
und höher oder Python 3.4
und höher hast du schon Pip
!
OpenPyXL
Jetzt kann einfach installiert werden, indem Sie den folgenden Befehl eingeben (im Mac OS X-Terminal):
pip install openpyxl
Nach der Installation OpenPyXL
, Wir sind bereit, mit Excel-Dokumenten zu arbeiten. Die erste normale Aufgabe, die wir für ein Excel-Dokument ausführen würden, ist die öffnen dieses Dokument. Laden Sie die Excel-Datei sample.xlsx herunter, um das Lernprogramm mitzuverfolgen, oder verwenden Sie eine beliebige Excel-Datei, die Sie möchten.
Bevor wir verwenden können OpenPyXL
, wir müssen einführen
es wie folgt:
importiere openpyxl
Die Methode, die wir zum Öffnen des Excel-Dokuments benötigen, ist load_workbook ()
. Wenn Sie sich fragen, was unter einer Arbeitsmappe zu verstehen ist, handelt es sich einfach um das Excel-Arbeitsblatt. Das Skript, das wir zum Öffnen eines Excel-Dokuments benötigen, lautet wie folgt:
openpyxl importieren excel_document = openpyxl.load_workbook ('sample.xlsx')
Lass uns jetzt das sehen Art
aus dem zurückgekehrt load_workbook ()
Methode. Dies kann wie folgt durchgeführt werden:
Drucktyp (excel_document)
Dies wird Folgendes zurückgeben:
Wie wir sehen können, ist das zurückgegebene Objekt Arbeitsmappe
, vom Datentyp Arbeitsmappe
. Das Arbeitsmappe
Objekt hier repräsentiert die Excel-Datei.
Tabellen in Excel bestehen aus Spalten (mit Buchstaben, die mit A, B, C usw. beginnen) und Zeilen (beginnend mit 1, 2, 3 usw.). Um zu prüfen, welche Blätter wir in unserem Excel-Dokument haben, verwenden wir die get_sheet_names ()
Methode wie folgt:
excel_document.get_sheet_names ()
Wenn wir drucken
Mit dem obigen Befehl erhalten wir Folgendes:
[u'Sheet1 ']
So zeigen wir, dass wir ein Blatt haben, genannt Blatt1
.
Wenn Sie über mehrere Arbeitsblätter verfügen, können Sie mit dieser Methode auf ein bestimmtes Arbeitsblatt anhand seines Namens zugreifen: get_sheet_by_name ()
.
Nachdem wir nun gelernt haben, wie Sie eine Excel-Datei öffnen und das Blatt erhalten, sehen wir uns an, wie einfach der Zugriff auf eine Zelle in diesem Blatt ist. Alles, was Sie tun müssen, ist das Blatt abzurufen und dann die Position (Koordinate) der Zelle zu bestimmen. Nehmen wir an, wir möchten auf die Spalte zugreifen EIN
Reihe 2
im Excel-Dokument haben wir also A2
. Dies kann wie folgt implementiert werden:
sheet = excel_document.get_sheet_by_name ('Sheet1') Druckbogen ['A2']. value
In diesem Fall erhalten Sie den folgenden Wert zurück: Abder
.
Wir können auch eine Zeilen-Spalten-Notation verwenden. Zum Beispiel, wenn wir auf die Zelle in der Zeile zugreifen möchten 5
und Spalte 2
, Wir geben folgendes ein:
Blattzelle (Zeile = 5, Spalte = 2) .Wert
Die Ausgabe in diesem Fall lautet: Programmierer
.
Wenn wir den Objekttyp sehen möchten, der die Zelle darstellt, können wir Folgendes eingeben:
Druckart (Blatt ['A2'])
oder:
Druckbogenzelle (Zeile = 5, Spalte = 2)
In diesem Fall erhalten Sie folgende Ausgabe:
was bedeutet, dass das Objekt vom Typ ist Zelle
.
Was wäre, wenn Sie an einer Reihe von Zellen und nicht nur an einer Zelle interessiert wären? Nehmen wir an, wir möchten auf die Zellen zugreifen A1
zu B3
, welche in unserem Excel-Dokument so aussehen?
Dies kann mit folgendem Skript erfolgen:
multiple_cells = Tabelle ['A1': 'B3'] für Zeile in Multiple_Cells: für Zelle in Zeile: print cell.value
In diesem Fall erhalten Sie folgende Ausgabe:
Name Beruf Abder Student Bob Engineer
OpenPyXL
ermöglicht Ihnen den Zugriff auf alle Zeilen und Spalten in Ihrem Excel-Dokument mithilfe von Reihen()
und Säulen()
jeweils Methoden.
Um auf alle Zeilen zuzugreifen, können wir Folgendes tun:
all_rows = sheet.rows print all_rows [:]
Beachten Sie, dass wir die verwendet haben [:]
Notation, um auf alle zuzugreifen Reihen. Dies liegt daran, dass der zurückgegebene Objekttyp von ganzes Dokument
ist ein Tupel
.
Die Ausgabe des obigen Skripts lautet wie folgt:
((, | ), ( | , | ), ( | , | ), ( | , | ), ( | , | ), ( | , | ), ( | , | )) |
Auf der anderen Seite, wenn wir auf alle zugreifen wollen Säulen, wir machen einfach folgendes:
all_columns = sheet.columns print alle_columns [:]
In diesem Fall erhalten Sie folgende Ausgabe:
((, | , | , | , | , | , | ), ( | , | , | , | , | , | , | )) |
Mit Excel-Dokumenten können Sie natürlich mehr erreichen, wie Sie in der OpenPyXL-Dokumentation sehen können.
In diesem Lernprogramm haben wir festgestellt, wie flexibel es ist, mit Excel-Dokumenten mithilfe von Python zu arbeiten. Erinnern Sie sich an das Szenario, das zu Beginn des Tutorials erwähnt wurde? Einen Versuch wert, als Projekt!
Lernen Sie Python mit unserem kompletten Python-Tutorial, egal ob Sie gerade erst anfangen oder ein erfahrener Programmierer sind, der neue Fähigkeiten erlernen möchte.