hands python openpyxl tutorial with examples
Vollständige Anleitung zur Python-Bibliothek Openpyxl enthält die Installation, das Erstellen eines neuen Arbeitsblatts sowie das Lesen / Schreiben / Löschen von Daten aus der Arbeitsmappe:
Excel ist die beliebteste Tabellenkalkulationsanwendung, mit der Informationen besser organisiert, Berechnungen durchgeführt, Ausgabediagramme erstellt und vieles mehr werden. In der Testwelt ist die Überprüfung der Anwendung mit verschiedenen Datensätzen entscheidend, um ein qualitativ hochwertiges Produkt und eine gute Testabdeckung zu erhalten.
Openpyxl ist eine solche Bibliothek, mit der wir Excel verwenden können, um datengesteuerte Tests durchzuführen und sogar Testergebnisberichte usw. zu erstellen.
In diesem Tutorial erfahren Sie, was Openpyxl ist, seine Installation, das Erstellen einer neuen Arbeitsmappe, das Lesen von Daten aus der Tabelle und das Schreiben von Daten darin. Wir werden auch lernen, wie man dasselbe von einer Webseite hochlädt und herunterlädt.
Was du lernen wirst:
- Was ist Openpyxl?
- So installieren Sie Openpyxl
- Konfiguration der PyCharm-IDE
- Erstellen Sie eine neue Excel-Arbeitsmappe
- Schreiben Sie Daten in die Excel-Datei
- Benennen Sie das Blatt in Excel-Datei um
- Hinzufügen von Blättern zur Excel-Datei
- Anhängen mehrerer Werte an das Blatt
- Löschen eines Blattes aus der Excel-Arbeitsmappe
- Lesen von Daten aus der Excel-Datei
- Lesen aller Werte in der Datei
- Spaltenbrief erhalten
- Datengesteuertes Testen
- Fazit
Was ist Openpyxl?
Openpyxl ist eine Python-Bibliothek zum Lesen und Schreiben von Excel-Dateien (xlsx / xlsm / xltx / xltm-Dateien). Mit diesem Modul können die Python-Programme die Tabelle lesen und ändern.
XLSX Datei ist das Standarddateiformat für Microsoft Excel. Es basiert auf dem Office Open XML-Standard.
XLSM Datei ist eine makrofähige Tabellenkalkulationsdatei.
XLTX Datei ist eine Excel-Vorlagendatei, in der benutzerdefinierte Einstellungen beibehalten werden.
XLTM Datei ist eine makroaktivierte Vorlagendatei, die mit Microsoft Excel erstellt wird.
So installieren Sie Openpyxl
Wenn Sie Python installieren, werden Openpyxl-Bibliotheken nicht standardmäßig installiert. Wir müssen einen Befehl ausführen, um die Bibliotheken in unser Python zu bekommen. Dazu müssen Sie die Eingabeaufforderung öffnen und das Verzeichnis in den Ordner ändern, in dem sich Ihr Python befindet, und den folgenden Befehl ausführen.
pip install openpyxl
Sobald Sie den Befehl ausführen, werden die Bibliotheken heruntergeladen und installiert. Dies kann mit überprüft werden Pip-Liste Befehl wie in der Abbildung unten gezeigt.
Konfiguration der PyCharm-IDE
Es gibt zwei Möglichkeiten, Openpyxl-Bibliotheken für ein Projekt in PyCharm zu konfigurieren.
# 1) Verwenden der verfügbaren Paketoption in PyCharm
Klicke auf Datei-> Neues Projekt. Klicken Sie auf Erstellen.
Ihr Projekt wird erfolgreich erstellt. Um zu überprüfen, ob die Bibliotheken konfiguriert sind, gehen Sie zu Datei -> Einstellungen . Gehen Sie auf der Einstellungsseite zu Projekt -> Projektinterpreter .
Unter Pakete sehen Sie dann das Openpyxl-Paket. Wenn das fehlt, klicken Sie auf ' + ”In der rechten Ecke. Suchen Sie unter Verfügbare Pakete nach Openpyxl und klicken Sie auf Paket installieren, wie in der Abbildung unten gezeigt. Nach Abschluss der Installation wird das Paket 'openpyxl' erfolgreich installiert.
Überprüfen Sie, ob das Paket erfolgreich installiert wurde.
# 2) Verwenden der Option 'Von globalen Site-Paketen erben'
Diese Methode ist ziemlich einfach. Gehe zu Datei-> Neues Projekt . Wählen Sie beim Erstellen eines neuen Projekts „ Erben Sie globale Site-Pakete Kontrollkästchen. Navigieren Sie nach dem Erstellen des Projekts zu Datei -> Einstellungen-> Projekt -> Projektinterpreter , Sie werden sehen, dass das Openpyxl-Paket bereits installiert ist.
Erstellen Sie eine neue Excel-Arbeitsmappe
Wir beginnen mit der Erstellung einer neuen Arbeitsmappe. Eine Excel-Datei heißt Arbeitsmappe und enthält mindestens ein Blatt. Um eine Arbeitsmappe zu erstellen, müssen wir zuerst die Arbeitsmappe mit dem folgenden Befehl aus der Openpyxl-Bibliothek importieren:
from openpyxl import Workbook
Erstellen wir ein Arbeitsmappenobjekt. Wir können dieses Objekt verwenden, um alle Aktionen zu verarbeiten, die ausgeführt werden müssen, wie Lesen, Schreiben usw.
wb = Workbook()
Legen Sie den Dateipfad fest, in dem Sie die Arbeitsmappe erstellen möchten, wie unten gezeigt:
filepath = :”F:/tutorial/sample.xlsx”
Verwenden Sie zum Speichern der Arbeitsmappe
wb.save(filepath)
Dadurch wird eine neue leere Excel-Datei im angegebenen Pfad erstellt.
Wenn Sie eine neue Excel-Datei am selben Speicherort wie die Python-Skripte erstellen möchten, können Sie den Dateipfad überspringen und den Dateinamen in direkt erwähnen wb.save Befehl wie unten gezeigt:
from openpyxl import Workbook wb = Workbook() wb.save('demo.xlsx')
Schreiben Sie Daten in die Excel-Datei
Nachdem wir nun wissen, wie eine neue Datei erstellt wird, geben wir Daten in die Datei ein. Um dies zu erreichen, müssen wir die oben erstellte Arbeitsmappe laden. Dies kann mit dem folgenden Befehl erfolgen:
wb = load_workbook(“demo.xlsx”)
Wir müssen angeben, in welches Blatt wir die Daten eingeben wollen. Da wir nur ein Blatt haben, können wir nur das Schlüsselwort 'active' verwenden. Dabei wird das aktuell aktive Blatt zur Eingabe der Daten verwendet.
sheet = wb.active
Wenn Sie mehrere Blätter haben, müssen Sie den Namen des Arbeitsblatts wie unten angegeben angeben. Wobei SheetName der Name des Blattes in der Arbeitsmappe ist.
sheet = wb('SheetName')
Es gibt zwei Möglichkeiten, die Daten in die Excel-Datei einzugeben. Diese sind wie folgt:
- Verwenden Sie direkt die Spaltenreihenkombination. Beispiel (A1), wobei A die Spalte und 1 die Zeile ist.
- Verwenden Sie die Zeilen- und Spaltennummern. Beispiel Zeile = 4, Spalte = 2
sheet('A1') = 'Software Testing Help' sheet.cell(row=4, column=2).value = 'Openpyxl Tutorial'
Stellen Sie sicher, dass Sie die Datei nach Eingabe der Werte speichern.
wb.save('demo.xlsx')
Vollständiger Code:
from openpyxl import load_workbook wb = load_workbook('demo.xlsx') # Sheet is the SheetName where the data has to be entered sheet = wb('Sheet') # Enter into 1st row and Ath column sheet('A1') = 'Software Testing Help' # Similarly you can enter in the below shown fashion sheet.cell(row=2, column=1).value = 'OpenPyxl Tutorial' sheet('B1') = 10 sheet.cell(row=2, column=2).value =13.4 wb.save('demo.xlsx')
Der obige Code schreibt 'Software Testing Help', 10 und 'Openpyxl Tutorial', 13.4 in 1stund 2ndZeile jeweils wie unten gezeigt.
Benennen Sie das Blatt in Excel-Datei um
Wenn Sie das Berichtsdatum nachverfolgen und den Blattnamen auf das aktuelle Datum ändern möchten. Dies kann über den Befehl 'title' erfolgen.
Für dieses Szenario müssen wir das aktuelle Datum erhalten. Also müssen wir zuerst das datetime-Paket importieren.
from datetime import datetime
jetzt() gibt uns das aktuelle Datum und die Uhrzeit .strftime () Methode gibt eine Zeichenfolge zurück, die Datum und Uhrzeit darstellt.
now = datetime.now() date_time = now.strftime('%d.%m.%Y')
Sie können den Namen des Blattes mit ändern sheet.title Methode. Vergessen Sie nicht, die Datei zu speichern.
sheet.title = date_time wb.save('demo.xlsx')
Vollständiger Code:
from datetime import datetime from openpyxl import load_workbook #Load the workbook demo.xlsx wb = load_workbook('demo.xlsx') #Select the current active sheet sheet = wb.active now = datetime.now() date_time = now.strftime('%d.%m.%Y') sheet.title = date_time wb.save('demo.xlsx')
Da wir aktives Blatt verwendet haben, wurde der Name des aktuellen aktiven Blattes geändert.
Hinzufügen von Blättern zur Excel-Datei
In Anbetracht des obigen Beispiels, um den Bericht eines jeden Tages zu verfolgen, müssen wir für jeden Tag ein neues Blatt erstellen. Verwenden Sie die, um dem Excel neue Blätter hinzuzufügen create_sheet Befehl.
Syntax:
create_sheet(title=None, index=None)
Erstellen Sie ein Arbeitsblatt (an einem optionalen Index).
Parameter:
- Titel (str): optionaler Titel des Blattes.
- Index (int): optionale Position, an der das Blatt eingefügt wird.
Hinweis: Wenn keine Parameter eingegeben werden, wird das Blatt nach dem letzten Blatt erstellt und als 'Blatt' bezeichnet.
sheetname ='Day2 Result '+now.strftime('%d.%m.%Y') #Add new sheet using the index and title fields wb.create_sheet(index = 1 , title = sheetname)
Vollständiger Code:
from datetime import datetime from openpyxl import load_workbook wb = load_workbook('demo.xlsx') sheet = wb.active now = datetime.now() date_time = now.strftime('%d.%m.%Y') sheet.title = date_time sheetname ='Day2 Result '+now.strftime('%d.%m.%Y') wb.create_sheet(index = 1 , title = sheetname) wb.save('demo.xlsx')
Ergebnis:
Anhängen mehrerer Werte an das Blatt
Wir können eine Gruppe von Werten am unteren Rand des aktuellen Blattes anhängen. Dies kann erreicht werden durch 'Anhängen' Befehl.
Syntax:
append(iterable)
Wobei iterabel eine Liste von Werten oder Einzelwerten ist.
Shell Scripting Interview Fragen und Antworten für erfahrene
- Wenn es sich um eine Liste handelt, Alle Werte werden ab der ersten Spalte der Reihe nach addiert.
- Wenn es ein Wert ist, dann werden die Werte den durch die Tasten (Zahlen oder Buchstaben) angegebenen Spalten zugewiesen.
Beachten Sie den folgenden Code:
from openpyxl import load_workbook wb = load_workbook('demo.xlsx') #Mention the sheet where the data can be entered, sheet = wb('Day2 Result 27.07.2020') # Assign multiple values to data data =(('Emp Id', 'Emp Name', 'Designation'), (1, 'XYZ', 'Manager'), (2, 'ABC', 'Consultant')) #Append all rows for i in data: sheet.append(i) wb.save('demo.xlsx')
Ergebnis:
Hinweis: Sie können die Blattnamen mit drucken print ('aktiver Blatttitel:' + sheet.title)
Löschen eines Blattes aus der Excel-Arbeitsmappe
Wenn Sie in Openpyxl ein Blatt löschen, seien Sie vorsichtig, da es nicht wiederhergestellt werden kann. Erstellen wir eine Excel-Tabelle mit 3 Blättern und nennen sie 'Blatt1' 'Blatt2' 'Blatt3' und speichern sie als DeleteSheet.xlsx .
Es ist immer besser, die bereits vorhandenen Blätter zu kennen, bevor Sie sie löschen. Sie können es durchbringen Blattnamen Befehl.
Dann können Sie verwenden wb.remove (Blattname) oder del wb (Blattname)
WB ist die Arbeitsmappe, die Sie geladen haben.
Beachten Sie den folgenden Code:
import openpyxl wb = openpyxl.load_workbook('DeleteSheet.xlsx') print('The names of work sheets before deleting') print(wb.sheetnames) sheetDelete = wb('Sheet2') wb.remove(sheetDelete) #Sheet2 will be deleted #del wb(sheetDelete) #Alternatively you can use del cmd print('The names of work sheets after deleting') print(wb.sheetnames) wb.save('DeleteSheet.xlsx')
Ergebnis:
Lesen von Daten aus der Excel-Datei
Ähnlich wie beim Schreiben von Daten in die Datei können wir die Daten aus einer Excel-Datei auf zwei Arten lesen.
Entweder, Verwenden Sie direkt die Spaltenreihenkombination . Beispiel (A1) oder, Verwenden Sie die Zeilen- und Spaltennummern . Beispiel Zeile = 4, Spalte = 2.
sheet.cell (). value Der Befehl hilft uns, den Wert aus der angegebenen Zelle abzurufen.
Den vollständigen Code finden Sie unten:
from openpyxl import load_workbook wb = load_workbook('demo.xlsx') sheet = wb.active dataAtA1 = sheet('A1') dataAtA2 = sheet.cell(row=2, column=1) print('Data at A1:', dataAtA1.value) print('Data at A2:', dataAtA2.value)
Ergebnis:
Lesen aller Werte in der Datei
Normalerweise müssen wir beim Testen von Software die Funktionalität anhand verschiedener Datensätze überprüfen. Angenommen, alle Daten werden in einer Arbeitsmappe abgelegt, und wir müssen die Funktionalität anhand aller Daten testen. Wir müssen also jede Zeile und Spalte durchlaufen, um die Werte abzurufen. Für einen großen Datensatz ist das obige Verfahren nicht durchführbar. Um dies zu erreichen, müssen wir das gesamte Blatt durchlaufen, um die Werte abzurufen.
Wir müssen zuerst die Anzahl der Zeilen und Spalten im Blatt abrufen.
- max_row- Dies gibt den maximalen Zeilenindex an, der Daten enthält (1-basiert)
- max_column - Der maximale Spaltenindex mit Daten (1-basiert)
row_count = sheet.max_row column_count = sheet.max_column
Hinweis: max_row und max_column sind 1-basierte Indizierungen. Um zur letzten Zeile zu gelangen, müssen wir dem Zählwert eine hinzufügen.
Unten finden Sie den vollständigen Code zum Lesen der Werte:
from openpyxl import load_workbook wb = load_workbook('demo.xlsx') sheet = wb('Day2 Result 27.07.2020') row_count = sheet.max_row column_count = sheet.max_column for i in range(1, row_count + 1): for j in range(1, column_count + 1): data = sheet.cell(row=i, column=j).value print(data, end=' ') print('
')
Hinweis: Wir haben end = ’’ verwendet, um zwischen jeder Spalte und der neuen Zeile ( n) ein Leerzeichen zu haben, um die Werte in einer neuen Zeile zu drucken.
Ergebnis:
Spaltenbrief erhalten
Angenommen, Sie haben einen großen Datensatz in einer Arbeitsmappe gespeichert und möchten wissen, in welchem Zeilenindex und in welcher Spalte ein bestimmter Wert verfügbar ist. Sie können das mit finden get_column_letter. Dadurch wird ein Spaltenindex in einen Spaltenbuchstaben konvertiert. Beispiel 3 bis C.
Siehe folgenden Code:
from openpyxl import load_workbook from openpyxl.utils import get_column_letter wb = load_workbook('demo.xlsx') sheet = wb('Day2 Result 27.07.2020') row_count = sheet.max_row column_count = sheet.max_column for i in range(1, row_count + 1): for j in range(1, column_count + 1): data = sheet.cell(row=i, column=j).value if data=='ABC': column_letter = get_column_letter(j) print('ABC employee name is present in column ', column_letter, 'and in row index ', i )
Ergebnis:
Datengesteuertes Testen
Nachdem wir wissen, dass Openpyxl uns beim Lesen und Schreiben von Daten aus Excel hilft, werden wir diese Konzepte verwenden, um einen Testfall zum Testen der Anwendung mit mehreren verschiedenen Werten zu erstellen, die aus der Tabelle abgerufen werden. Dadurch werden datengesteuerte Tests erzielt.
>> Empfohlene Lektüre: So funktionieren datengesteuerte Tests
Stellen Sie sich ein Szenario vor, in dem wir uns bei Facebook.com anmelden, Anmeldeinformationen aus der Arbeitsmappe lesen, den Titel der Seite nach der Anmeldung überprüfen und das Ergebnis in dieselbe Arbeitsmappe zurückschreiben.
Schritt | Aktion | erwartetes Ergebnis |
---|---|---|
7 | Überprüfen Sie den Titel der Seite | Facebook sollte der Titel der Seite sein |
1 | Öffnen Sie den Chrome-Browser | Der Chrome-Browser sollte erfolgreich gestartet werden |
zwei | Navigieren Sie zu www.facebook.com | Facebook-Webseite sollte geöffnet werden |
3 | Maximieren Sie das Browserfenster | Das Browserfenster sollte maximiert werden |
4 | Lesen Sie die Daten aus Excel und geben Sie E-Mail ein | Die eingegebene E-Mail sollte angezeigt werden |
5 | Lesen Sie die Daten aus Excel und geben Sie das Passwort ein | Das eingegebene Passwort sollte angezeigt werden |
6 | Klicken Sie auf Login | Die entsprechende Seite sollte angezeigt werden |
8 | Schreiben Sie das Ergebnis in Excel | Die Arbeitsmappe sollte mit dem Ergebnis aktualisiert werden |
Wiederholen Sie das obige Szenario für verschiedene Anmeldeinformationen
Erstellen einer Excel-Datei mit Eingabedaten
Erstellen Sie eine Datei mit Anmeldeinformationen, dem erwarteten Titel, dem tatsächlichen Titel und dem Ergebnisfeld und speichern Sie sie unter Inputdata.xlsx.
Passwort | Erwarteter Titel | Tatsächlicher Titel | Ergebnis | |
---|---|---|---|---|
falsectusrname@example.com | falsches Passwort | |||
korrektusrname@example.com | falsches Passwort | |||
falsectusrname@example.com | korrektes Passwort | |||
korrektusrname@example.com | korrektes Passwort |
Hinweis: Dies ist eine Dummy-Datei, die zum Anzeigen eines Beispiels verwendet wird. Geben Sie die richtige E-Mail-Adresse und das richtige Passwort ein, während Sie das Skript üben.
Testskript schreiben
Wenn wir uns die obige Eingabedatei ansehen, können wir sagen, dass wir das Skript viermal wiederholen müssen, um vier verschiedene Anmeldeinformationen zu erhalten. Um Redundanz zu vermeiden, erstellen wir eine separate Klasse, die Funktionen zum Lesen und Schreiben der Excel-Datei enthält. Wir haben es als ExcelUtils bezeichnet.
Unten ist der ExcelUtils-Code:
import openpyxl def readData(file,sheetname,rownum,colnum): workbook = openpyxl.load_workbook(file) sheet = workbook(sheetname) inputvalue =sheet.cell(row=rownum, column=colnum).value return inputvalue def writeData(file,sheetname,rownum, colnum,data): workbook = openpyxl.load_workbook(file) sheet = workbook(sheetname) sheet.cell(row=rownum, column=colnum).value= data workbook.save(file)
Importieren Sie nun die ExcelUtils.py-Klasse in Ihre Hauptklasse, und wir können die Lese- und Schreibfunktionen wiederverwenden
Wir werden die E-Mail und das Passwort aus der Excel-Datei lesen und uns bei Facebook anmelden. Wenn die Anmeldung erfolgreich ist, aktualisiert das Skript das Ergebnis in der Datei als bestanden. Wenn die Anmeldung nicht erfolgreich ist, aktualisiert das Skript den tatsächlichen Titel der Seite und markiert das Ergebnis als fehlgeschlagen.
Hinweis: Installieren Sie Selenium-Bibliotheken in Ihrer IDE. Ohne diese können Sie den Code nicht ausführen. Pip installieren Selen Befehl wird verwendet, um Selenium-Bibliotheken zu installieren.
Unten ist der vollständige Code:
from openpyxl import load_workbook from selenium import webdriver from ExcelTest import ExcelUtils driver=webdriver.Chrome (r'C:UsersAdminPycharmProjectsSeleniumTestDriverschromedriver.exe') driver.get('https://www.facebook.com/') driver.maximize_window() file = 'InputData.xlsx' wb = load_workbook(file) sheet=wb.active row_count = sheet.max_row col_count = sheet.max_column for r in range(2,row_count+1): email= ExcelUtils.readData(file, 'Sheet1', r, 1) password = ExcelUtils.readData(file, 'Sheet1', r, 2) driver.find_element_by_id('email').send_keys(email) driver.find_element_by_id('pass').send_keys(password) driver.find_element_by_id('u_0_b').click() time.sleep(6) pagetitle=driver.title print(pagetitle) if pagetitle=='Facebook': ExcelUtils.writeData(file,'Sheet1',r,5,'Passed') else: ExcelUtils.writeData(file,'Sheet1',r,4,pagetitle) ExcelUtils.writeData(file,'Sheet1',r,5,'Failed') driver.find_element_by_xpath ('//*(@id='blueBarDOMInspector')/div/div(1)/div/div/h1/a/i').click()
Ergebnis:
Passwort | Erwarteter Titel | Tatsächlicher Titel | Ergebnis | |
---|---|---|---|---|
falsectusrname@example.com | falsches Passwort | Bei Facebook anmelden | Facebook | Gescheitert | |
korrektusrname@example.com | falsches Passwort | Bei Facebook anmelden | Facebook | Gescheitert | |
falsectusrname@example.com | korrektes Passwort | Login-Hilfe | Gescheitert | |
korrektusrname@example.com | korrektes Passwort | Bestanden |
Datei hochladen
Sobald Sie mit der Automatisierung der Echtzeitprojekte beginnen, werden Sie früher oder später Datei-Uploads durchführen. Zum Beispiel, Hochladen der Ergebnisdatei auf das freigegebene Laufwerk oder Testen der Anwendung durch Hochladen einer Datei usw. Das Problem beim Hochladen von Dateien besteht darin, dass das sich öffnende Dialogfeld zum Auswählen von Dateien nicht dem Browser gehört, sobald Sie auf die Schaltfläche zum Hochladen klicken Sie können es nicht mit Selen steuern.
Um dies zu erreichen, müssen wir den Dateipfad direkt an das Eingabeelement übergeben.
elementinput = driver.find_element_by_id('content') elementinput.send_keys(r'C:UsersAdminPycharmProjectsopen1TestInputData.xlsx')
Wir sollten das Eingabeelement auswählen und dann den Pfad der Datei mit dem übergeben send_keys Methode.
(Bild Quelle ))
In diesem Beispiel nehmen wir das Eingabefeld webelement von id ('content') und übergeben den Dateipfad direkt mit den Sendeschlüsseln.
Unten finden Sie den Code zum Hochladen einer Excel-Datei.
from selenium import webdriver driver=webdriver.Chrome(r'C:UsersAdminPycharmProjectsSeleniumTestDriverschromedriver.exe') driver.get('https://sheet.zoho.com/sheet/Excelviewer') driver.maximize_window() elementinput = driver.find_element_by_id('content') elementinput.send_keys(r'C:UsersAdminPycharmProjectsopen1TestInputData.xlsx')
Ergebnis:
Download-Datei
Das Herunterladen einer Datei ist in Selen ziemlich einfach. Suchen Sie das Webelement der Datei und den Download-Button. Normalerweise werden die Dateien jedoch im Download-Ordner heruntergeladen.
Wenn Sie die Dateien in einem bestimmten Ordner herunterladen möchten, müssen Sie Chrome-Optionen verwenden und den Pfad des Ordners angeben, in den die Datei heruntergeladen werden soll.
Beachten Sie den folgenden Code:
from selenium import webdriver from selenium.webdriver.chrome.options import Options chromeOptions = Options() chromeOptions.add_experimental_option('prefs',{'download.default_directory':r 'C:UsersAdminPycharmProjectsopen1ExcelTest'}) driver = webdriver.Chrome(executable_path=r'C:UsersAdminPycharmProjectsSelenium TestDriverschromedriver.exe',chrome_options=chromeOptions) driver.get('https://file-examples.com/index.php/sample-documents- download/sample-xls-download/') driver.find_element_by_xpath('//*(@download='file_example_XLSX_10.xlsx')').click()
Dieser Code lädt die Datei in dem von Ihnen angegebenen Pfad herunter.
Ergebnis:
Häufig gestellte Fragen
F # 1) Wie installiere ich Openpyxl?
Antworten: Wir müssen einen Befehl ausführen, um die Bibliotheken in unser Python zu bekommen. Öffnen Sie die Eingabeaufforderung, ändern Sie das Verzeichnis in das Python-Arbeitsverzeichnis und führen Sie den folgenden Befehl aus.
pip install openpyxl
F # 2) Kann ich Python in Excel verwenden?
Antworten: Mit dem Openpyxl-Modul kann Python Daten aus einer Excel-Datei lesen und Daten an dieselbe schreiben / ändern / anhängen.
F # 3) Wie lade ich eine Arbeitsmappe in Openpyxl?
Antworten:
#Import load_workbook
aus openpyxl importiere load_workbook
#Laden Sie die Arbeitsmappe
wb = load_workbook (Pfad der Arbeitsmappe)
Beispiel- wb = load_workbook ('C: \ Benutzer \ demo.xlsx')
F # 4) Funktioniert Openpyxl mit XLS?
Antworten: Nein, XLS wird nicht unterstützt. Wenn Sie versuchen, das XLS-Dateiformat zu verwenden, löst Python eine Ausnahme aus.
InvalidFileException auslösen (msg)
openpyxl.utils.exceptions.InvalidFileException: openpyxl unterstützt das alte XLS-Dateiformat nicht. Verwenden Sie xlrd, um diese Datei zu lesen, oder konvertieren Sie sie in das neuere XLSX-Dateiformat.
Weiteres Lernen = >> Ausnahmebehandlung in Python
F # 5) Wie finde ich die Version von Openpyxl, die ich habe?
Antworten: Öffnen Sie die Eingabeaufforderung. Ändern Sie das Verzeichnis in den Ordner, in dem Python installiert ist, und führen Sie den Befehl aus Pip-Liste . Dadurch werden alle installierten Pakete zusammen mit ihrer Version angezeigt.
F # 6) Funktioniert Openpyxl mit Excel 2016?
Antworten: Ja, es werden die Dateiformate xlsx, xlsm, xltx und xltm unterstützt.
F # 7) Wie erstelle ich ein neues Blatt in Openpyxl?
Antworten: Verwenden Sie zum Hinzufügen neuer Blätter zum Excel
create_sheet(title=None, index=None)
Erstellen Sie ein Arbeitsblatt (an einem optionalen Index).
Parameter ::
- Titel (str) - optionaler Titel des Blattes.
- index (int) - optionale Position, an der das Blatt eingefügt wird.
Hinweis: Wenn keine Parameter eingegeben werden, wird ein Blatt nach dem letzten Blatt erstellt und als 'Blatt' bezeichnet.
Beispiel - wb.create_sheet (index = 3, title = 'Day4')
F # 8) Wie schließe ich eine Arbeitsmappe in Openpyxl?
Antwort: Workbook_Object.close ()
Dadurch wird die Arbeitsmappendatei geschlossen, wenn sie geöffnet ist. Dies betrifft nur den Nur-Lese- und den Nur-Schreib-Modus. Beispiel - - Wb.close ()
Sobald Sie die Arbeitsmappe schließen. Sie dürfen es erst wieder verwenden, wenn Sie die Arbeitsmappe erneut laden.
F # 9) Wie löse ich - kein Modul mit dem Namen 'openpyxl'?
Antworten: ModuleNotFoundError: Wenn dieses Modul nicht installiert ist, tritt kein Modul mit dem Namen openpyxl error auf.
Wenn Sie beide Versionen von Python2.x und Python3.x auf demselben Computer installiert haben, verwenden Sie pip zur Installation in Python2.x und pip3 zur Installation in Python3.x.
Beispiel - -
pip installiere openpyxl - Installieren Sie das Openpyxl-Modul in Python2.x
pip3 installiere openpyxl - Installieren Sie das Openpyxl-Modul in Python3.x
F # 10) Wie öffne ich eine Excel-Datei, die bereits mit Openpyxl existiert?
Antworten: Wenn Sie bereits eine Excel-Datei haben, verwenden Sie die load_workbook Funktion zum Öffnen.
Wenn sich die Datei in Ihrem aktuellen Python-Arbeitsverzeichnis befindet, schreiben Sie einfach den Dateinamen als Argument für diese Funktion.
Beispiel - aus openpyxl importiere load_workbook
wb = load_workbook ('myexcelfile.xlsx')
Wenn sich Ihre Datei nicht in Ihrem Python-Arbeitsverzeichnis befindet, geben Sie den Pfad der Datei als Parameter zum Laden der Arbeitsmappe an.
Beispiel - aus openpyxl importiere load_workbook
wb = load_workbook ('C: \ Benutzer \ myexcelfile.xlsx')
Fazit
In diesem Tutorial haben wir die Openpyxl-Bibliothek kennengelernt, die uns die Flexibilität gibt, mit Excel zu interagieren und somit datengesteuertes Testen zu vereinfachen.
Nachfolgend sind die Grundlagen dieses Tutorials aufgeführt:
Was ist ein drahtloser Netzwerkschlüssel?
- Es ist eine Python-Bibliothek, mit der wir Excel verwenden können, um Aktionen wie das Lesen von Daten und das Schreiben von Daten auszuführen.
- Diese Python-Bibliothek kann mit nur einem Befehl installiert werden pip installiere openpyxl .
- Dieses Modul kann einfach in PyCharm IDE über das Fenster Verfügbare Pakete installiert werden.
- Wir haben gesehen, wie man eine Arbeitsmappe erstellt und Daten in dieselbe schreibt.
- Außerdem können wir die Blattnamen umbenennen, neue Blätter erstellen und die Blätter entfernen.
- Mit dieser Bibliothek können Sie einen einzelnen Zellenwert oder die gesamte Arbeitsmappe lesen.
- Wir haben auch ein Beispiel-Testskript gesehen, das zeigt, wie ein datengesteuerter Test durchgeführt werden kann.
- Das Hochladen und Herunterladen der Datei mit Selen wird ebenfalls in diesem Tutorial beschrieben.
Literatur-Empfehlungen
- So öffnen Sie eine XML-Datei in Excel, Chrome und MS Word
- Python-Tutorial für Anfänger (KOSTENLOSES Python-Training zum Anfassen)
- Arbeiten mit VBScript Excel-Objekten
- 12 besten Python-IDEs und Code-Editoren im Jahr 2021
- Lesen oder Schreiben von Daten aus einer Excel-Tabelle in Selenium Web Driver
- Tutorial zur Handhabung von Python-Dateien: Erstellen, Öffnen, Lesen, Schreiben
- Python-Hauptfunktions-Tutorial mit praktischen Beispielen
- Python Tuple Tutorial mit praktischen Beispielen