OpenPyXL – Automatyzacja Excela w Pythonie? To Prostsze, Niż Myślisz!
Jeśli kiedykolwiek miałeś do czynienia z plikami Excela i chciałeś zautomatyzować ich obsługę, biblioteka OpenPyXL jest dokładnie tym, czego potrzebujesz. Python pozwala w łatwy sposób tworzyć, edytować i analizować arkusze kalkulacyjne, a OpenPyXL daje możliwość obsługi plików w formacie .xlsx. Dzięki niej możesz generować raporty, odczytywać dane i aktualizować istniejące arkusze – wszystko bez konieczności otwierania Excela!
Co to jest OpenPyXL?
OpenPyXL to biblioteka w języku Python, która pozwala na obsługę plików programu Microsoft Excel w formacie .xlsx i .xlsm. Jest szczególnie przydatna, gdy chcemy zautomatyzować przetwarzanie dużych ilości danych lub gdy pracujemy na serwerze, gdzie Excel nie jest zainstalowany. OpenPyXL umożliwia zarówno odczytywanie, jak i modyfikowanie arkuszy, formatowanie komórek, dodawanie wykresów czy też zarządzanie formułami.
Instalacja OpenPyXL
Zanim zaczniemy pracę z biblioteką, musimy ją zainstalować. Można to zrobić w bardzo prosty sposób, korzystając z menedżera pakietów pip:
pip install openpyxl
Po zainstalowaniu biblioteki możemy przejść do pierwszych operacji na arkuszach Excela.
Tworzenie nowego pliku Excel
Zacznijmy od prostego przykładu – stworzymy nowy plik Excela, dodamy do niego arkusz i zapiszemy go na dysku.
from openpyxl import Workbook
# Tworzenie nowego pliku Excel
wb = Workbook()
# Wybór aktywnego arkusza
ws = wb.active
# Ustawienie wartości w komórce
ws['A1'] = "Witaj, Excel!"
# Zapisanie pliku
wb.save("nowy_plik.xlsx")
W powyższym kodzie utworzyliśmy nowy plik Excel, wybraliśmy domyślny arkusz i wpisaliśmy w komórkę A1 tekst "Witaj, Excel!". Następnie zapisaliśmy plik jako "nowy_plik.xlsx".
Odczytywanie danych z pliku Excel
Teraz sprawdźmy, jak możemy odczytać dane z istniejącego pliku Excel.
from openpyxl import load_workbook
# Wczytanie istniejącego pliku Excel
wb = load_workbook("nowy_plik.xlsx")
# Wybór aktywnego arkusza
ws = wb.active
# Odczyt wartości z komórki A1
print(ws['A1'].value)
W tym przykładzie załadowaliśmy istniejący plik Excel i odczytaliśmy wartość komórki A1. Dzięki temu możemy łatwo analizować dane znajdujące się w arkuszach.
Dodawanie danych do arkusza
Załóżmy, że chcemy dodać kilka wierszy do istniejącego arkusza. Możemy to zrobić za pomocą metody append().
from openpyxl import load_workbook
# Wczytanie pliku
wb = load_workbook("nowy_plik.xlsx")
ws = wb.active
# Dodanie nowych wierszy
ws.append(["Imię", "Nazwisko", "Wiek"])
ws.append(["Jan", "Kowalski", 30])
ws.append(["Anna", "Nowak", 25])
# Zapisanie zmian
wb.save("nowy_plik.xlsx")
W ten sposób dodaliśmy nowe dane do arkusza – możemy teraz otworzyć plik w Excelu i zobaczyć, że dane zostały dopisane do arkusza.
Stylizacja komórek
OpenPyXL pozwala również na formatowanie komórek – możemy zmieniać kolory, czcionki, rozmiary i wiele innych parametrów.
from openpyxl import Workbook
from openpyxl.styles import Font, Color
# Tworzenie pliku Excel
wb = Workbook()
ws = wb.active
# Ustawienie stylu czcionki
bold_font = Font(bold=True, color="FF0000") # Czerwona, pogrubiona czcionka
# Ustawienie wartości w komórkach
ws['A1'] = "Nagłówek"
ws['A1'].font = bold_font
# Zapisanie pliku
wb.save("sformatowany.xlsx")
Po otwarciu pliku zobaczymy, że nagłówek w komórce A1 jest czerwony i pogrubiony.
Tworzenie wykresów
OpenPyXL pozwala również na tworzenie wykresów na podstawie danych zawartych w arkuszu.
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
# Tworzenie nowego pliku Excel
wb = Workbook()
ws = wb.active
# Dodanie danych do arkusza
data = [
["Kategoria", "Wartość"],
["A", 10],
["B", 40],
["C", 30]
]
for row in data:
ws.append(row)
# Tworzenie wykresu
chart = BarChart()
values = Reference(ws, min_col=2, min_row=2, max_row=4)
chart.add_data(values, titles_from_data=True)
ws.add_chart(chart, "E5")
# Zapisanie pliku
wb.save("wykres.xlsx")
Po otwarciu pliku Excel zobaczymy wygenerowany wykres słupkowy na podstawie danych w tabeli.
Podsumowanie
Biblioteka OpenPyXL to potężne narzędzie dla każdego, kto chce zautomatyzować pracę z arkuszami Excela. Umożliwia tworzenie i edycję plików, odczytywanie danych, dodawanie wykresów i stylizowanie komórek – a to dopiero początek możliwości!
W artykule przedstawiliśmy podstawowe funkcje biblioteki wraz z przykładami kodu, które możesz wykorzystać w swoich projektach. Teraz możesz zacząć tworzyć swoje własne skrypty i usprawniać pracę z danymi. Powodzenia w automatyzacji Excela z OpenPyXL!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!