Formuły i wykresy
Dodawaj formuły i wykresy
Formuły i wykresy to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.
Coś więcej niż statyczne wartości
Rzeczywiste arkusze kalkulacyjne wykonują obliczenia. openpyxl może zapisywać formuły Excela, które są ponownie obliczane po zmianie danych, oraz dodawać wykresy przedstawiające liczby bezpośrednio w skoroszycie.
Dzięki temu generowane raporty wyglądają naturalnie dla użytkowników Excela.
Zapisywanie formuły
Formuła to po prostu ciąg znaków zaczynający się od =. Można przypisać ją tak jak dowolną wartość: ws['B10'] = '=SUM(B2:B9)'. Excel obliczy ją po otwarciu pliku.
openpyxl przechowuje tekst formuły, ale samodzielnie nie oblicza jej wyniku.
first_row, last_row = 2, 9
formula = '=SUM(B' + str(first_row) + ':B' + str(last_row) + ')'
print('Cell B10 ->', formula)Typowe funkcje
Najczęściej używane funkcje Excela działają również jako ciągi znaków:
=SUM(range)suma=AVERAGE(range)średnia=MAX(range)/=MIN(range)=COUNT(range)liczba wartości liczbowych
Proszę zapisywać je dokładnie tak, jak w przypadku wpisywania ich w Excelu.
Formuły nie są obliczane w Pythonie
Ważne: jeśli zapisze Pan lub zapisze Pani formułę, a następnie odczyta ją za pomocą openpyxl bez otwierania pliku w Excelu, otrzyma Pan lub otrzyma Pani tekst formuły, a nie liczbę. Aby odczytać obliczone wyniki, proszę najpierw otworzyć plik w Excelu, a następnie wczytać go z użyciem data_only=True.
Tworzenie odwołań do komórek
Generowanie formuł często oznacza programistyczne tworzenie odwołań. Połączenie litery kolumny z numerem wiersza daje adres. Jest to zwykła operacja na ciągach znaków.
col = 'C'
def cell_ref(c, r):
return c + str(r)
total_formula = '=AVERAGE(' + cell_ref(col, 2) + ':' + cell_ref(col, 11) + ')'
print(total_formula)Dodawanie wykresu
openpyxl może osadzać wykresy. Należy utworzyć obiekt wykresu, taki jak BarChart(), przekazać mu dane za pomocą obiektu Reference wskazującego zakres komórek, a następnie dodać go do arkusza za pomocą ws.add_chart(chart, 'E2').
Dostępne typy wykresów obejmują słupkowe, liniowe, kołowe i punktowe.
Odwołania do danych
Obiekt Reference(ws, min_col=2, min_row=1, max_row=6) wybiera komórki, z których wykres odczytuje dane. Kategorie (etykiety) pochodzą z innego odwołania. Kluczowe znaczenie ma poprawne określenie tych zakresów.
data_rows = 6
ref = {'min_col': 2, 'min_row': 1, 'max_row': data_rows}
print('Chart reads column', ref['min_col'], 'rows', ref['min_row'], 'to', ref['max_row'])Tytuły i osie wykresu
Proszę ustawić chart.title = 'Monthly Sales' oraz opisać osie za pomocą chart.x_axis.title i chart.y_axis.title. Opisany wykres umieszczony w raporcie nie wymaga osobnego wyjaśnienia.
Wybór typu wykresu
Obowiązuje tu ta sama zasada co w przypadku każdej wizualizacji: wykres słupkowy służy do porównywania kategorii, liniowy do przedstawiania trendów, a kołowy do pokazywania części całości. Proszę wybrać typ odpowiadający pytaniu, na które odpowiada raport.
question = 'how did revenue change month over month'
if 'change' in question or 'trend' in question:
print('Use a LineChart')
else:
print('Use a BarChart')Łączenie elementów
Typowy raport zapisuje tabelę danych, dodaje na dole formułę sumy, a następnie umieszcza wykres odwołujący się do tych samych danych. Po otwarciu Excel wyświetla aktualne sumy i wizualizację, wygenerowane w całości w Pythonie.
Formuły warunkowe
Funkcje logiczne Excela również działają jako ciągi znaków: =IF(B2>100, 'High', 'Low') lub =SUMIF(A2:A9, 'North', B2:B9). Dzięki nim wygenerowany raport może klasyfikować i agregować dane bez dodatkowych przebiegów w Pythonie.
Proszę tworzyć je za pomocą takiego samego konkatenowania ciągów znaków, jak w przypadku dowolnej formuły.
Szybki test
Proszę sprawdzić swoją wiedzę na temat formuł i wykresów.
Podsumowanie
Można już dodawać logikę i wizualizacje:
- Zapisywanie formuł jako ciągów znaków zaczynających się od
=; openpyxl przechowuje je, ale nie oblicza - Używanie
data_only=Truepo obliczeniu wyników przez Excel - Programistyczne tworzenie odwołań na podstawie liter kolumn i numerów wierszy
- Osadzanie wykresów za pomocą
BarChart()/LineChart(), obiektuReferenceiws.add_chart
Często zadawane pytania
Czy lekcja „Formuły i wykresy” jest bezpłatna?
Tak — pełny tekst „Formuły i wykresy” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Formuły i wykresy”?
Dodawaj formuły i wykresy Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Python Academy?
Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Formuły i wykresy”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?
Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Odczytywanie skoroszytów
- Zapis i stylizowanie komórek
- Formuły i wykresy
- Przetwarzanie raportów wsadowych