Manipulowanie arkuszami kalkulacyjnymi Excel za pomocą Pythona

Manipulowanie arkuszami kalkulacyjnymi Excel za pomocą Pythona

Microsoft Excel to oprogramowanie do arkusza kalkulacyjnego, które jest używane do przechowywania i zarządzania danymi tabelarnymi. Ponadto, wraz z Excel, można przeprowadzić obliczenia, stosując formuły do ​​danych, a wizualizacje danych można tworzyć.Wiele zadań wykonywanych w arkuszach kalkulacyjnych, takich jak operacje matematyczne, można zautomatyzować za pomocą programowania, a wiele języków programowania ma moduły do ​​manipulowania arkuszami kalkulacyjnymi Excel. W tym samouczka.

Instalowanie OpenPyxl

Zanim będziesz mógł zainstalować OpenPyXL, musisz zainstalować PIP. PIP służy do instalacji pakietów Python. Uruchom następujące polecenie w wierszu polecenia, aby sprawdzić, czy PIP jest zainstalowany.

C: \ Users \ Windows> PIP Help

Jeśli zawartość pomocy w PIP zostanie zwrócona, PIP jest zainstalowany; W przeciwnym razie przejdź do następującego linku i pobierz GET-PIP.plik PY:

https: // bootstrap.Pypa.IO/GET-PIP.py

Teraz uruchom następujące polecenie, aby zainstalować PIP:

C: \ Users \ Windows> Python Get-Pip.py

Po zainstalowaniu PIP można użyć następującego polecenia do instalacji OpenPyxl.

C: \ Users \ Windows> PIP Instaluj OpenPyxl

Tworzenie dokumentu Excel

W tej sekcji użyjemy modułu OpenPyxl do utworzenia dokumentu Excel. Najpierw otwórz wiersz polecenia, wpisując „cmd” na pasku wyszukiwania; Następnie wprowadź

C: \ Users \ Windows> Python

Aby utworzyć skoroszyt Excel, zaimportujemy moduł OpenPyxl, a następnie użyjemy metody „Wortbook ()” do utworzenia skoroszytu.

>>> # Importowanie modułu OpenPyxl
>>> Importuj OpenPyxl
>>> # Zainicjowanie skoroszytu
>>> work_book = OpenPyxl.Zeszyt ćwiczeń()
>>> # Zapisywanie skoroszytu jako przykład.xlsx '
>>> Work_book.Save („Przykład.xlsx ')

Powyższe polecenia tworzą dokument Excel o nazwie przykład.XLSX. Następnie manipulujemy tym dokumentem Excel.

Manipulowanie arkuszami w dokumencie Excel

Utworzyliśmy dokument Excel o nazwie przykład.XLSX. Teraz manipulujemy arkuszami tego dokumentu za pomocą Pythona. Moduł OpenPyxl ma metodę „create_sheet ()”, której można użyć do utworzenia nowego arkusza. Ta metoda przyjmuje dwa argumenty: indeks i tytuł. Indeks definiuje umieszczenie arkusza za pomocą dowolnej liczby całkowitej (w tym 0), a tytuł to tytuł arkusza. Lista wszystkich arkuszy w obiekcie Work_Book można wyświetlić, wywołując listę nazwy arkuszy.

>>> # importowanie OpenPyxl
>>> Importuj OpenPyxl
>>> # Ładowanie istniejącego dokumentu Excel do obiektu Work_Book
>>> work_book = OpenPyxl.load_workbook („Przykład.xlsx ')
>>> # Tworzenie nowego arkusza przy 0. indeksie
>>> Work_book.create_sheet (index = 0, title = „pierwszy arkusz”)

>>> # Zdobycie wszystkich arkuszy
>>> Work_book.Nazwy arkusza
[„Pierwszy arkusz”, „arkusz”]
>>> # Zapisywanie dokumentu Excel
>>> Work_book.Save („Przykład.xlsx ')

W powyższym kodzie utworzyliśmy arkusz o nazwie pierwszy arkusz i umieściliśmy go na 0. indeksie. Arkusz wcześniej znajdujący się w indeksie 0. został przeniesiony do pierwszego indeksu, jak pokazano na wyjściu. Teraz zmienimy nazwę oryginalnego arkusza z arkusza na drugi arkusz.

Atrybut tytułu zawiera nazwę arkusza. Aby zmienić nazwę arkusza, musimy najpierw przejść do tego arkusza w następujący sposób.

>>> # uzyskanie aktywnego arkusza z dokumentu Excel
>>> arkusz = work_book.aktywny
>>> # Nazwa arkusza drukowania
>>> Drukuj (arkusz.tytuł)
Pierwszy arkusz >>> # nawigacja do drugiego arkusza (przy indeksie 1)
>>> Work_book.Active = 1
>>> # uzyskanie aktywnego arkusza
>>> arkusz = work_book.aktywny
>>> # Nazwa arkusza drukowania
>>> Drukuj (arkusz.tytuł)
Arkusz >>> # Zmiana tytułu arkusza
>>> arkusz.title = „drugi arkusz”
>>> # Tytuł arkusza drukowania
>>> Drukuj (arkusz.tytuł)
Drugi arkusz

Podobnie możemy usunąć arkusz z dokumentu Excel. Moduł OpenPyxl oferuje metodę usuwania () do usunięcia arkusza. Ta metoda przyjmuje nazwę arkusza do usunięcia jako argument, a następnie usuwa ten arkusz. Możemy usunąć drugi arkusz w następujący sposób:

>>> # Usuwanie arkusza według nazwy
>>> Work_book.usuń (work_book ['drugi arkusz'])
>>> # Zdobycie wszystkich arkuszy
>>> Work_book.Nazwy arkusza
[„Pierwszy arkusz”]
>>> # Zapisywanie dokumentu Excel
>>> Work_book.Save („Przykład.xlsx ')

Dodawanie danych do komórek

Do tej pory pokazaliśmy, jak tworzyć lub usuwać arkusze w dokumencie Excel. Teraz dodamy dane do komórek różnych arkuszy. W tym przykładzie mamy pojedynczy arkusz o nazwie pierwszy arkusz w naszym dokumencie i chcemy utworzyć jeszcze dwa arkusze.

>>> # importowanie OpenPyxl
>>> Importuj OpenPyxl
>>> # Ładowanie skoroszytu
>>> work_book = OpenPyxl.load_workbook („Przykład.xlsx ')
>>> # Utworzenie nowego arkusza w 1. indeksie
>>> Work_book.create_sheet (index = 1, title = „drugi arkusz”)

>>> # Utworzenie nowego arkusza przy 2. indeksie
>>> Work_book.create_sheet (index = 2, title = „trzeci arkusz”)

>>> # Zdobycie wszystkich arkuszy
>>> Work_book.Nazwy arkusza
[„Pierwszy arkusz”, „drugi arkusz”, „trzeci arkusz”]

Teraz mamy trzy arkusze i dodamy dane do komórek tych arkuszy.

>>> # Zdobycie pierwszego arkusza
>>> arkusz_1 = work_book [„pierwszy arkusz”]
>>> # Dodawanie danych do komórki „A1” pierwszego arkusza
>>> arkusz_1 ['a1'] = 'Nazwa' '
>>> # zdobycie drugiego arkusza
>>> arkusz_2 = work_book ['drugi arkusz']]
>>> # Dodawanie danych do komórki „A1” drugiego arkusza
>>> arkusz_2 ['a1'] = 'id'
>>> # Zdobycie trzeciego arkusza
>>> arkusz_3 = work_book ['trzeci arkusz']]
>>> # Dodawanie danych do komórki „A1” trzeciego arkusza
>>> arkusz_3 ['a1'] = 'oceny' '
>>> # Oszczędzanie skoroszytu Excel
>>> Work_book.Save („Przykład.xlsx ')

Czytanie arkuszy Excel

Moduł OpenPyxl wykorzystuje atrybut wartości komórki do przechowywania danych tej komórki. Możemy odczytać dane w komórce, wywołując atrybut wartości komórki. Teraz mamy trzy arkusze, a każdy arkusz zawiera kilka danych. Możemy odczytać dane za pomocą następujących funkcji w OpenPyxl:

>>> # importowanie OpenPyxl
>>> Importuj OpenPyxl
>>> # Ładowanie skoroszytu
>>> work_book = OpenPyxl.load_workbook („Przykład.xlsx ')
>>> # Zdobycie pierwszego arkusza
>>> arkusz_1 = work_book [„pierwszy arkusz”]
>>> # zdobycie drugiego arkusza
>>> arkusz_2 = work_book ['drugi arkusz']]
>>> # Zdobycie trzeciego arkusza
>>> arkusz_3 = work_book ['trzeci arkusz']]
>>> # Drukowanie danych z komórki „A1” pierwszego arkusza
>>> drukuj (arkusz_1 ['a1'].wartość)
Nazwa
>>> # Drukowanie danych z komórki „A1” drugiego arkusza
>>> drukuj (arkusz_2 ['a1'].wartość)
ID
>>> # Drukowanie danych z komórki „A1” trzeciego arkusza
>>> drukuj (arkusz_3 ['a1'].wartość)
Klas

Zmiana czcionek i kolorów

Następnie pokażemy, jak zmienić czcionkę komórki za pomocą funkcji Font (). Najpierw zaimportuj OpenPyxl.Obiekt stylów. Metoda Font () bierze listę argumentów, w tym:

  • Nazwa (ciąg): Nazwa czcionki
  • rozmiar (int lub float): Rozmiar czcionki
  • Podkreśl (ciąg): typ podkreślenia
  • kolor (ciąg): Heksadecimalny kolor tekstu
  • Kursywa (bool): czy czcionka jest kursywna
  • Bold (bool): czy czcionka jest odważna

Aby zastosować style, musimy najpierw utworzyć obiekt, przekazując wszystkie parametry do metody Font (). Następnie wybieramy arkusz i wewnątrz arkusza wybieramy komórkę, do której chcemy zastosować styl. Następnie stosujemy styl do wybranej komórki.

>>> # importowanie OpenPyxl
>>> Importuj OpenPyxl
>>> # Importowanie metody czcionki z OpenPyxl.Style
>>> z Openpyxl.Style importują czcionkę
>>> # Ładowanie skoroszytu
>>> work_book = OpenPyxl.load_workbook („Przykład.xlsx ')
>>> # Tworzenie obiektu stylu
>>> styl = czcionka (name = 'consolas', rozmiar = 13, Bold = true,
… Kursywa = fałsz)
>>> # Wybieranie arkusza z skoroszytu
>>> arkusz_1 = work_book [„pierwszy arkusz”]
>>> # Wybór komórki, którą chcemy dodać style
>>> a1 = arkusz_1 ['a1']
>>> # Stosowanie stylów do komórki
>>> a1.czcionka = styl
>>> # Saving Worbook
>>> Work_book.Save („Przykład.xlsx ')

Zastosowanie granic do komórek

Możemy zastosować granice do komórek w arkuszu Excel za pomocą metod Border () i Side () Openpyxl.Style.Moduł graniczny. Możemy przekazać różne funkcje jako parametry do metody granicznej (). Poniżej znajdują się niektóre funkcje, które są przekazywane jako parametry do metody Border () w celu zdefiniowania wymiarów granicy.

  • lewy: Zastosuj granicę po lewej stronie komórki
  • Prawidłowy: Zastosuj granicę po prawej stronie komórki
  • szczyt: Zastosuj granicę na szczyt komórki
  • spód: Zastosuj granicę na dno komórki

Te funkcje przyjmują atrybuty stylów jako parametry. Atrybut stylu określa styl granicy (e.G., Solidny, przerywany). Parametry stylu mogą mieć jedną z następujących wartości.

  • podwójnie: podwójna granica
  • przeszyty: przerywana granica
  • cienki: cienka granica
  • średni: średnia granica
  • MediaDashdot: przerywana i kropkowana granica o średniej masie
  • gruby: gęsta granica
  • Dashdot: przerywana i kropkowana granica
  • włosy: bardzo cienka granica
  • kropkowany: kropkowana granica

Teraz zastosujemy różne rodzaje granic do różnych komórek naszych arkuszy kalkulacyjnych. Najpierw wybieramy komórki, a następnie definiujemy style graniczne i stosujemy te style do różnych komórek.

>>> # importowanie OpenPyxl
>>> Importuj OpenPyxl
>>> # Importowanie klas granicznych i bocznych
>>> z Openpyxl.Style.granice importowe, boku
>>> # Ładowanie skoroszytu
>>> work_book = OpenPyxl.load_workbook („Przykład.xlsx ')
>>> # Wybór arkusza
>>> arkusz_1 = work_book [„pierwszy arkusz”]
>>> # Wybór różnych komórek z arkusza
>>> Cell_1 = arkusz_1 ['a1']
>>> Cell_2 = arkusz_1 ['B2']
>>> Cell_3 = arkusz_1 ['c3']
>>> # definiowanie różnych stylów granicznych
>>> style_1 = border (bottom = Side (style = „kropkowy”))
>>> style_2 = border (right = Side (style = „cienki”))
>>> style_3 = border (top = Side (style = 'dashdot')))
>>> # Stosowanie stylów granicznych do komórek
>>> Cell_1.border = style_1
>>> Cell_2.border = style_2
>>> Cell_3.border = styl_3
>>> # Saving Worbook
>>> Work_book.Save („Przykład.xlsx ')

Dostosowanie wymiarów wiersza i kolumny

Wysokość wiersza i szerokość kolumny dokumentu Excel można również regulować za pomocą Pythona. Moduł OpenPyxl ma dwie wbudowane metody, które można użyć do wykonywania tych działań. Najpierw wybieramy arkusz, którego chcemy zmienić szerokość kolumny lub wysokość wiersza. Następnie stosujemy metodę do określonego wiersza lub kolumny.

>>> # importowanie OpenPyxl
>>> Importuj OpenPyxl
>>> # Ładowanie skoroszytu
>>> work_book = OpenPyxl.load_workbook („Przykład.xlsx ')
>>> # Wybór arkusza
>>> arkusz_1 = work_book [„pierwszy arkusz”]
>>> # Zmiana wysokości pierwszego rzędu
>>> arkusz_1.Row_dimensions [1].Wysokość = 50
>>> # Saving Worbook
>>> Work_book.Save („Przykład.xlsx ')

Podobnie możemy zmienić szerokość kolumny za pomocą następującego kodu

>>> # Wybór arkusza z skoroszytu Excel
>>> arkusz_2 = work_book ['drugi arkusz']]
>>> # Zmiana szerokości kolumny
>>> arkusz_2.kolumn_dimensions [„a”].szerokość = 50
>>> # Saving Worbook
>>> Work_book.Save („Przykład.xlsx ')

Powyższy kod zmieni wysokość pierwszego rzędu na 50 pkt i szerokość kolumny A na 50 pkt.

Łączące się i niezasłużone komórki

Podczas pracy z arkuszami kalkulacyjnymi Excel często musimy scalić i niezbadać komórki. Aby połączyć komórki w Pythonie, można zastosować prostą funkcję opartą na OpenPexl. Moduł OpenPyxl oferuje metodę Merge_Cells (), którą można użyć do scalania komórek w Excel. Nowa komórka przyjmie nazwę górnej lewej komórki. Na przykład, jeśli chcemy połączyć komórki z komórki A1 do komórki B2, nowo uformowana komórka będzie określana jako A1. Aby połączyć komórki za pomocą OpenPyxl, najpierw wybieramy arkusz, a następnie stosujemy metodę Merge_Cells () do arkusza.

>>> # Importowanie modułu OpenPyxl
>>> Importuj OpenPyxl
>>> # Ładowanie skoroszytu
>>> work_book = OpenPyxl.load_workbook („Przykład.xlsx ')
>>> # Wybieranie pierwszego arkusza z skoroszytu Excel
>>> arkusz_1 = work_book [„pierwszy arkusz”]
>>> # łączenie komórek od A1 do B2 w arkuszu 1
>>> arkusz_1.merge_cells („A1: B2”)
>>> # Saving Worbook
>>> Work_book.Save („Przykład.xlsx ')

Podobnie metoda unmerge_cells () może być stosowana do niezmartowania komórek w arkuszu kalkulacyjnym Excel. Do niezmartowania można użyć następującego kodu:

>>> # Wybieranie arkusza z skoroszytu
>>> arkusz_1 = work_book [„pierwszy arkusz”]
>>> # Niezbędne komórki od A1 do B2
>>> arkusz_1.Unmerge_cells („A1: B2”)
>>> # Saving Worbook
>>> Work_book.Save („Przykład.xlsx ')

Wniosek

Arkusze kalkulacyjne Excel są powszechnie używane do manipulacji danymi. Jednak takie zadania mogą być monotonne. Dlatego w takich przypadkach programowanie można wykorzystać do automatyzacji manipulacji arkuszami kalkulacyjnymi.

W tym artykule omówiliśmy niektóre przydatne funkcje modułu OpenPexl Pythona. Pokazaliśmy, jak tworzyć, odczytać, usuwać i modyfikować arkusze kalkulacyjne Excel, jak zmienić styl, zastosować czcionkę, granice i wymiary komórek oraz jak łączyć się i niezmożone komórki. Stosując te funkcje, możesz zautomatyzować wiele zadań manipulacji arkuszami kalkulacyjnymi za pomocą Pythona.