hands python openpyxl tutorial with examples
Kompletny przewodnik po bibliotece Python Openpyxl obejmuje instalację, sposób tworzenia nowego arkusza roboczego, odczytywanie / zapisywanie / usuwanie danych ze skoroszytu:
Excel to najpopularniejsza aplikacja do obsługi arkuszy kalkulacyjnych służąca do lepszego organizowania informacji, wykonywania obliczeń, tworzenia wykresów wyjściowych i nie tylko. W świecie testowym weryfikacja aplikacji przy użyciu różnych zestawów danych jest kluczowa dla uzyskania produktu wysokiej jakości i dobrego pokrycia testami.
Openpyxl jest jedną z takich bibliotek, która pozwala nam używać Excela do przeprowadzania testów opartych na danych, a nawet do przygotowywania raportów z wyników testów itp.
W tym samouczku dowiemy się czym jest Openpyxl, jego instalacja, tworzenie nowego skoroszytu, odczytywanie danych z arkusza kalkulacyjnego, a także zapisywanie w nim danych. Dowiemy się również, jak załadować i pobrać to samo ze strony internetowej.
Czego się nauczysz:
- Co to jest Openpyxl
- Jak zainstalować Openpyxl
- Konfiguracja PyCharm IDE
- Utwórz nowy skoroszyt programu Excel
- Zapisz dane do pliku Excel
- Zmień nazwę arkusza w pliku Excel
- Dodaj arkusze do pliku Excel
- Dołączanie wielu wartości do arkusza
- Usuń arkusz ze skoroszytu programu Excel
- Czytanie danych z pliku Excel
- Czytanie wszystkich wartości w pliku
- Pobieranie listu do kolumny
- Testowanie oparte na danych
- Wniosek
Co to jest Openpyxl
Openpyxl to biblioteka Pythona używana do odczytu i zapisu plików Excel (pliki xlsx / xlsm / xltx / xltm). Ten moduł umożliwia programom w języku Python odczytywanie i modyfikowanie arkusza kalkulacyjnego.
XLSX plik jest domyślnym formatem pliku dla programu Microsoft Excel. Opiera się na standardzie Office Open XML.
XLSM plik jest plikiem arkusza kalkulacyjnego z obsługą makr.
XLTX plik jest plikiem szablonu programu Excel, który zachowuje ustawienia zdefiniowane przez użytkownika.
XLTM plik to plik szablonu z włączoną obsługą makr, który jest tworzony za pomocą programu Microsoft Excel.
Jak zainstalować Openpyxl
Podczas instalowania Pythona biblioteki Openpyxl nie są instalowane domyślnie. Musimy wykonać polecenie, aby pobrać biblioteki do naszego Pythona. W tym celu musisz otworzyć wiersz polecenia i zmienić katalog na folder, w którym znajduje się twój Python, i wykonać poniższe polecenie.
pip install openpyxl
Po wykonaniu polecenia biblioteki zostaną pobrane i zainstalowane. Można to sprawdzić za pomocą lista pip polecenie, jak pokazano na poniższym obrazku.
Konfiguracja PyCharm IDE
Istnieją 2 sposoby konfigurowania bibliotek Openpyxl dla projektu w PyCharm.
# 1) Korzystanie z opcji dostępnych pakietów w PyCharm
Kliknij Plik-> Nowy projekt. Kliknij Utwórz.
Twój projekt zostanie pomyślnie utworzony. Aby sprawdzić, czy biblioteki są skonfigurowane, przejdź do Plik -> Ustawienia . Na stronie ustawień przejdź do Projekt -> Tłumacz projektu .
W sekcji Pakiety zobaczysz pakiet Openpyxl. Jeśli tego brakuje, naciśnij przycisk „ + ”W prawym rogu. W obszarze Dostępne pakiety wyszukaj Openpyxl i naciśnij pakiet instalacyjny, jak pokazano na poniższym obrazku. Po zakończeniu instalacji otrzymasz „pakiet„ openpyxl ”zainstalowany pomyślnie”
Sprawdź, czy pakiet został pomyślnie zainstalowany.
# 2) Korzystanie z opcji Inherit from global site-packages
Ta metoda jest dość prosta. Iść do Plik-> Nowy projekt . Tworząc nowy projekt wybierz „ Dziedzicz globalne pakiety witryn ”Pole wyboru. Po utworzeniu projektu przejdź do Plik -> Ustawienia-> Projekt -> Interpreter projektu , zobaczysz, że pakiet Openpyxl jest już zainstalowany.
Utwórz nowy skoroszyt programu Excel
Zaczniemy od stworzenia nowego skoroszytu. Plik programu Excel nazywa się skoroszytem i zawiera co najmniej jeden arkusz. Aby utworzyć skoroszyt, najpierw musimy zaimportować skoroszyt z biblioteki Openpyxl za pomocą poniższego polecenia:
from openpyxl import Workbook
Utwórzmy obiekt skoroszytu. Możemy użyć tego obiektu do obsługi wszystkich czynności, które należy wykonać, takich jak odczyt, zapis itp.
wb = Workbook()
Ustaw ścieżkę do pliku, w którym chcesz utworzyć skoroszyt, jak pokazano poniżej:
filepath = :”F:/tutorial/sample.xlsx”
Aby zapisać skoroszyt, użyj
wb.save(filepath)
Spowoduje to utworzenie nowego, pustego pliku Excela w określonej ścieżce.
Jeśli chcesz utworzyć nowy plik Excela w tej samej lokalizacji co skrypty Pythona, możesz pominąć ścieżkę pliku i bezpośrednio podać nazwę pliku w wb.save polecenie, jak pokazano poniżej:
from openpyxl import Workbook wb = Workbook() wb.save('demo.xlsx')
Zapisz dane do pliku Excel
Teraz, gdy wiemy, jak utworzyć nowy plik, przejdźmy dalej i uzupełnijmy dane do pliku. Aby to osiągnąć, musimy załadować skoroszyt, który utworzyliśmy powyżej. Można to zrobić za pomocą poniższego polecenia:
wb = load_workbook(“demo.xlsx”)
Musimy określić, w którym arkuszu będziemy wprowadzać dane. Ponieważ mamy tylko jeden arkusz, możemy po prostu użyć słowa kluczowego „aktywny”, a to użyje bieżącego aktywnego arkusza do wprowadzenia danych.
sheet = wb.active
Jeśli masz wiele arkuszy, musisz podać nazwę arkusza, jak podano poniżej. Gdzie SheetName to nazwa arkusza w skoroszycie.
sheet = wb['SheetName']
Istnieją 2 sposoby wprowadzania danych do pliku Excel. Są to następujące:
- Bezpośrednio użyj kombinacji kolumn. Przykład [A1], gdzie A to kolumna, a 1 to wiersz.
- Użyj numerów wierszy i kolumn. Przykład rząd = 4, kolumna = 2
sheet['A1'] = 'Software Testing Help' sheet.cell(row=4, column=2).value = 'Openpyxl Tutorial'
Pamiętaj, aby zapisać plik po wprowadzeniu wartości.
wb.save('demo.xlsx')
Kompletny kod:
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')
Powyższy kod zapisze „Pomoc do testowania oprogramowania”, 10 i „Samouczek Openpyxl”, 13.4 w 1świ 2ndwiersz odpowiednio, jak pokazano poniżej.
Zmień nazwę arkusza w pliku Excel
W przypadku, gdy śledzisz datę raportu i chcesz zmienić nazwę arkusza na aktualną datę. Można to zrobić za pomocą polecenia „tytuł”.
W tym scenariuszu musimy uzyskać aktualną datę. Najpierw musimy zaimportować pakiet datetime.
from datetime import datetime
teraz() poda nam aktualną datę i godzinę .strftime () metoda zwraca ciąg znaków reprezentujący datę i godzinę.
now = datetime.now() date_time = now.strftime('%d.%m.%Y')
Możesz zmienić nazwę arkusza za pomocą sheet.title metoda. Nie zapomnij zapisać pliku.
sheet.title = date_time wb.save('demo.xlsx')
Kompletny kod:
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')
Ponieważ użyliśmy aktywnego arkusza, nazwa bieżącego aktywnego arkusza została zmieniona.
Dodaj arkusze do pliku Excel
Biorąc pod uwagę powyższy przykład, aby śledzić raport każdego dnia, musimy utworzyć nowy arkusz dla każdego dnia. Aby dodać nowe arkusze do programu Excel, użyj create_sheet Komenda.
Składnia:
create_sheet(title=None, index=None)
Utwórz arkusz roboczy (w opcjonalnym indeksie).
Parametry:
- tytuł (str): opcjonalny tytuł arkusza.
- index (int): opcjonalna pozycja, w której arkusz zostanie wstawiony.
Uwaga: Jeśli parametry nie zostaną wprowadzone, to tworzy arkusz po ostatnim arkuszu i nazywa go „arkusz”.
sheetname ='Day2 Result '+now.strftime('%d.%m.%Y') #Add new sheet using the index and title fields wb.create_sheet(index = 1 , title = sheetname)
Kompletny kod:
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')
Wynik:
Dołączanie wielu wartości do arkusza
Na dole bieżącego arkusza możemy dołączyć grupę wartości. Można to osiągnąć poprzez 'dodać' Komenda.
Składnia:
append(iterable)
Gdzie iterowalne to lista wartości lub pojedyncza wartość.
podwójnie zakończona kolejka c ++
- Jeśli to lista, wszystkie wartości są dodawane w kolejności, zaczynając od pierwszej kolumny.
- Jeśli jest to jedna wartość, następnie wartości przypisywane są do kolumn wskazanych klawiszami (cyfry lub litery).
Zapoznaj się z poniższym kodem:
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')
Wynik:
Uwaga: Nazwy arkuszy można wydrukować za pomocą drukuj („aktywny tytuł arkusza:” + sheet.title)
Usuń arkusz ze skoroszytu programu Excel
W Openpyxl, jeśli usuniesz arkusz, zachowaj ostrożność, ponieważ nie można go odzyskać. Utwórzmy arkusz Excela z 3 Arkuszami i nazwijmy go „Arkusz1” „Arkusz2” „Arkusz3” i zapiszmy jako DeleteSheet.xlsx .
Zawsze lepiej jest znać arkusze, które są już obecne przed ich usunięciem. Możesz przez to przejść nazwy arkuszy Komenda.
Następnie możesz użyć wb.remove (nazwa arkusza) lub del wb [nazwa arkusza]
Gdzie, wb to załadowany skoroszyt.
Zapoznaj się z poniższym kodem:
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')
Wynik:
Czytanie danych z pliku Excel
Podobnie jak w przypadku zapisywania danych do pliku, dane z pliku Excel możemy odczytać na 2 sposoby.
Zarówno, bezpośrednio użyj kombinacji kolumn . Przykład [A1] lub użyj numerów wierszy i kolumn . Przykładowy rząd = 4, kolumna = 2.
Sheet.cell (). value polecenie pomoże nam pobrać wartość z określonej komórki.
Znajdź pełny kod poniżej:
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)
Wynik:
Czytanie wszystkich wartości w pliku
Zwykle w testowaniu oprogramowania musimy zweryfikować funkcjonalność przy użyciu różnych zestawów danych. Załóżmy, że wszystkie dane są umieszczone w skoroszycie i musimy przetestować funkcjonalność przy użyciu wszystkich danych. W ten sposób musimy przejść przez każdy wiersz i kolumnę, aby pobrać wartości. W przypadku dużego zestawu danych powyższa metoda jest niewykonalna. Aby to osiągnąć, musimy powtórzyć cały arkusz, aby pobrać wartości.
Najpierw musimy pobrać liczbę wierszy i liczbę kolumn w arkuszu.
- max_row- Daje to maksymalny indeks wiersza zawierający dane (oparte na 1)
- max_column - Maksymalny indeks kolumny zawierający dane (od 1)
row_count = sheet.max_row column_count = sheet.max_column
Uwaga: max_row i max_column są oparte na indeksowaniu 1. Aby przejść do ostatniego wiersza, musimy dodać jeden do wartości licznika.
Poniżej znajduje się pełny kod, aby odczytać wartości:
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('
')
Uwaga: Użyliśmy end = ””, aby zachować spację między każdą kolumną a nowym wierszem ( n), aby wydrukować wartości w nowym wierszu.
Wynik:
Pobieranie listu do kolumny
Załóżmy, że masz duży zestaw danych przechowywanych w skoroszycie i chcesz wiedzieć, w którym indeksie wiersza i kolumnie jest dostępna określona wartość. Możesz to znaleźć za pomocą get_column_letter. Spowoduje to konwersję indeksu kolumny na literę kolumny. Przykład 3 do C.
Zobacz poniższy kod:
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 )
Wynik:
Testowanie oparte na danych
Teraz, gdy wiemy, że Openpyxl pomaga nam w odczytywaniu i zapisywaniu danych z programu Excel, użyjemy tych koncepcji do zbudowania przypadku testowego w celu przetestowania aplikacji z wieloma różnymi wartościami pobranymi z arkusza kalkulacyjnego. Stąd osiągnięcie testowania opartego na danych.
>> Zalecana lektura: Jak działa testowanie oparte na danych
Rozważmy scenariusz, w którym będziemy logować się do Facebook.com, czytać dane logowania ze skoroszytu, weryfikować tytuł strony po zalogowaniu i zapisywać wynik z powrotem do tego samego skoroszytu.
Krok | Akcja | Spodziewany wynik |
---|---|---|
7 | Zweryfikuj tytuł strony | Facebook powinien być tytułem strony |
1 | Otwórz przeglądarkę Chrome | Przeglądarka Chrome powinna się pomyślnie uruchomić |
dwa | Przejdź do www.facebook.com | Należy otworzyć stronę Facebooka |
3 | Zmaksymalizuj okno przeglądarki | Okno przeglądarki powinno być zmaksymalizowane |
4 | Przeczytaj dane z Excela i wprowadź Email | Podany adres e-mail powinien zostać wyświetlony |
5 | Przeczytaj dane z Excela i wprowadź hasło | Powinno zostać wyświetlone wpisane hasło |
6 | Kliknij Login | Powinna zostać wyświetlona odpowiednia strona |
8 | Zapisz wynik do programu Excel | Skoroszyt powinien zostać zaktualizowany o wynik |
Powtórz powyższy scenariusz dla różnych danych logowania
Tworzenie pliku Excel z danymi wejściowymi
Utwórzmy plik z danymi logowania, oczekiwanym tytułem, rzeczywistym tytułem oraz polem wyników i zapiszmy go jako Inputdata.xlsx.
Hasło | Oczekiwany tytuł | Aktualny tytuł | Wynik | |
---|---|---|---|---|
niepoprawna nazwa_ctusr@example.com | niepoprawne hasło | |||
correctusrname@example.com | niepoprawne hasło | |||
niepoprawna nazwa_ctusr@example.com | poprawne hasło | |||
correctusrname@example.com | poprawne hasło |
Uwaga: To jest fikcyjny plik używany do pokazania przykładu. Podczas ćwiczenia skryptu podaj poprawny adres e-mail i hasło.
Pisanie skryptu testowego
Patrząc na powyższy plik wejściowy, możemy powiedzieć, że musimy powtórzyć skrypt 4 razy dla 4 różnych poświadczeń. Aby więc uniknąć nadmiarowości, utwórzmy oddzielną klasę, która będzie zawierała funkcje do czytania i pisania pliku Excel. Nazwaliśmy go ExcelUtils.
Poniżej znajduje się kod ExcelUtils:
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)
Teraz zaimportuj klasę ExcelUtils.py do swojej głównej klasy i będziemy mogli ponownie używać funkcji odczytu i zapisu
Odczytamy e-mail i hasło z pliku Excel i zalogujemy się do Facebooka. Jeśli logowanie powiedzie się, skrypt zaktualizuje wynik w pliku jako zaliczony. Jeśli logowanie się nie powiedzie, skrypt zaktualizuje aktualny tytuł strony i oznaczy wynik jako Niepowodzenie.
Uwaga: Zainstaluj biblioteki Selenium w swoim IDE, bez tego nie możesz wykonać kodu. pip zainstaluj Selenium polecenie służy do instalacji bibliotek Selenium.
Poniżej znajduje się pełny kod:
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()
Wynik:
Hasło | Oczekiwany tytuł | Aktualny tytuł | Wynik | |
---|---|---|---|---|
niepoprawna nazwa_ctusr@example.com | niepoprawne hasło | Zaloguj się do Facebooka | Facebook | Niepowodzenie | |
correctusrname@example.com | niepoprawne hasło | Zaloguj się do Facebooka | Facebook | Niepowodzenie | |
niepoprawna nazwa_ctusr@example.com | poprawne hasło | Pomoc dotycząca logowania | Niepowodzenie | |
correctusrname@example.com | poprawne hasło | Zdał |
Przesyłanie pliku
Gdy zaczniesz automatyzować projekty w czasie rzeczywistym, prędzej czy później będziesz przesyłać pliki. Na przykład, wgrywanie pliku wynikowego na dysk współdzielony lub testowanie aplikacji poprzez wgrywanie pliku itp. Problem z wgrywaniem pliku polega na tym, że po kliknięciu przycisku wysyłania otwierane okno dialogowe wyboru pliku nie jest własnością przeglądarki, więc nie możesz tego kontrolować używając Selenium.
Aby to osiągnąć, musimy bezpośrednio przekazać ścieżkę do pliku do elementu wejściowego.
elementinput = driver.find_element_by_id('content') elementinput.send_keys(r'C:UsersAdminPycharmProjectsopen1TestInputData.xlsx')
Powinniśmy wybrać element wejściowy, a następnie przekazać mu ścieżkę do pliku za pomocą rozszerzenia send_keys metoda.
[wizerunek źródło ]
W tym przykładzie pobieramy element sieciowy pola wejściowego id („zawartość”) i przekazujemy ścieżkę pliku bezpośrednio za pomocą kluczy wysyłania.
Poniżej znajduje się kod do przesłania pliku Excel.
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')
Wynik:
Pobieranie pliku
Pobieranie pliku w Selenium jest dość proste. Znajdź element sieciowy pliku i przycisk pobierania. Ale zwykle pliki są pobierane w folderze pobierania.
Jeśli chcesz pobrać pliki z określonego folderu, będziesz musiał użyć opcji chrome i określić ścieżkę do folderu, w którym plik ma zostać pobrany.
Zapoznaj się z poniższym kodem:
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()
Ten kod pobierze plik ze ścieżki określonej przez Ciebie.
Wynik:
Często Zadawane Pytania
Pytanie 1) Jak zainstalować Openpyxl?
Odpowiedź: Musimy wykonać polecenie, aby pobrać biblioteki do naszego Pythona. Otwórz wiersz polecenia i zmień katalog na katalog roboczy Python i wykonaj poniższe polecenie.
pip install openpyxl
Pytanie 2) Czy mogę używać Pythona w programie Excel?
Odpowiedź: Moduł Openpyxl pozwala Pythonowi na odczyt danych z pliku Excel, a także pozwala nam zapisywać / modyfikować / dołączać dane do tego samego.
Pytanie 3) Jak załadować skoroszyt w Openpyxl?
Odpowiedź:
#Import load_workbook
z openpyxl import load_workbook
# Załaduj skoroszyt
wb = load_workbook (ścieżka do skoroszytu)
Przykład- wb = load_workbook („C: \ Users \ demo.xlsx”)
Pytanie 4) Czy Openpyxl działa z XLS?
Odpowiedź: Nie, nie obsługuje XLS. Jeśli spróbujesz użyć formatu pliku .XLS, Python zgłosi wyjątek.
zgłoś wyjątek InvalidFileException (msg)
openpyxl.utils.exceptions.InvalidFileException: openpyxl nie obsługuje starego formatu pliku .xls, użyj xlrd do odczytania tego pliku lub przekonwertuj go na nowszy format .xlsx.
Dalsza nauka = >> Obsługa wyjątków w Pythonie
P # 5) Jak znaleźć wersję Openpyxl, którą posiadam?
Odpowiedź: Otwórz wiersz polecenia. Zmień katalog na folder, w którym jest zainstalowany Python, a następnie wykonaj polecenie lista pip . Spowoduje to wyświetlenie wszystkich zainstalowanych pakietów wraz z ich wersjami.
P # 6) Czy Openpyxl działa z programem Excel 2016?
Odpowiedź: Tak, obsługuje formaty plików xlsx, xlsm, xltx i xltm.
P # 7) Jak utworzyć nowy arkusz w Openpyxl?
Odpowiedź: Aby dodać nowe arkusze do programu Excel, użyj
create_sheet(title=None, index=None)
Utwórz arkusz roboczy (w opcjonalnym indeksie).
Parametry :
- tytuł (str) - opcjonalny tytuł arkusza.
- index (int) - opcjonalna pozycja, w której arkusz zostanie wstawiony.
Uwaga: nie wprowadza If Parameters, wtedy tworzy arkusz po ostatnim arkuszu i nazywa go „arkusz”
Przykład - wb.create_sheet (index = 3, title = „Day4”)
P # 8) Jak zamknąć skoroszyt w Openpyxl?
Odpowiedź: Workbook_Object.close ()
Spowoduje to zamknięcie pliku skoroszytu, jeśli jest otwarty. Dotyczy tylko trybów tylko do odczytu i tylko do zapisu. Przykład - Wb.close ()
Po zamknięciu skoroszytu. Nie będziesz mógł go użyć ponownie, dopóki ponownie nie załadujesz skoroszytu.
Q # 9) Jak rozwiązać - brak błędu modułu o nazwie „openpyxl”?
Odpowiedź: ModuleNotFoundError: Żaden moduł o nazwie openpyxl nie występuje, gdy ten moduł nie jest zainstalowany.
Jeśli masz zainstalowane obie wersje Python2.x i Python3.x na tym samym komputerze, użyj pip, aby zainstalować w Python2.x i pip3, aby zainstalować w Python3.x.
Przykład -
pip zainstaluj openpyxl - Zainstaluj moduł Openpyxl w Python2.x
pip3 zainstaluj openpyxl - Zainstaluj moduł Openpyxl w Python3.x
P # 10) Jak otworzyć plik Excela, który już istnieje, używając Openpyxl?
Odpowiedź: Jeśli masz już plik Excel, użyj rozszerzenia load_workbook funkcja, aby otworzyć.
Jeśli plik znajduje się w Twoim bieżącym katalogu roboczym Pythona, po prostu wpisz nazwę pliku jako argument do tej funkcji.
Przykład - z openpyxl import load_workbook
wb = load_workbook („myexcelfile.xlsx”)
Jeśli pliku nie ma w katalogu roboczym języka Python, podaj ścieżkę do pliku jako parametr do załadowania skoroszytu.
Przykład - z openpyxl import load_workbook
wb = load_workbook („C: \ Users \ myexcelfile.xlsx”)
Wniosek
W tym samouczku dowiedzieliśmy się o bibliotece Openpyxl, która zapewnia nam elastyczność w interakcji z programem Excel, a tym samym ułatwia testowanie oparte na danych.
Poniżej wymieniono istotę tego samouczka:
utwórz nowy projekt java w eclipse
- Jest to biblioteka Pythona, która pozwala nam używać programu Excel do wykonywania czynności, takich jak odczytywanie i zapisywanie danych.
- Tę bibliotekę Pythona można zainstalować za pomocą jednego polecenia pip zainstaluj openpyxl .
- Ten moduł można łatwo zainstalować w PyCharm IDE za pomocą okna Dostępne pakiety.
- Widzieliśmy, jak utworzyć skoroszyt i zapisać dane w tym samym.
- Pozwala nam również zmieniać nazwy arkuszy, tworzyć nowe arkusze, a także usuwać arkusze.
- Czytanie wartości pojedynczej komórki lub całego skoroszytu można wykonać za pomocą tej biblioteki.
- Widzieliśmy również przykładowy skrypt testowy, który pokazuje, jak można wykonać test oparty na danych.
- W tym samouczku opisano również ładowanie i pobieranie pliku przy użyciu selenu.
rekomendowane lektury
- Jak otworzyć plik XML w programie Excel, Chrome i MS Word
- Samouczek Pythona dla początkujących (praktyczne BEZPŁATNE szkolenie Python)
- Praca z obiektami VBScript Excel
- 12 najlepszych IDE i edytorów kodu Pythona w 2021 roku
- Jak czytać lub zapisywać dane z arkusza Excela w sterowniku sieciowym Selenium
- Samouczek obsługi plików w języku Python: jak tworzyć, otwierać, czytać, pisać
- Samouczek dotyczący głównych funkcji języka Python z praktycznymi przykładami
- Python Tuple Tutorial z praktycznymi przykładami