CodeGym /Kursy /Python SELF PL /Eksportowanie przefiltrowanych i przetworzonych danych do...

Eksportowanie przefiltrowanych i przetworzonych danych do Excela

Python SELF PL
Poziom 28 , Lekcja 4
Dostępny

Wyobraź sobie, że jesteś kosmicznym badaczem, a dane to twoja mapa gwiaździstego nieba. Jest ona obszerna, skomplikowana i absolutnie niezbędna. Po dokładnej filtracji i analizie te dane wymagają uporządkowania i zapisania w łatwo czytelnym formacie. I tutaj pojawia się nasz bohater — eksport danych do Excela. Pozwala on dzielić się swoimi odkryciami z kolegami lub przygotowywać raporty na ważne spotkania. W świecie, gdzie dane to nowa ropa, umiejętność tworzenia raportów dosłownie w kilka linijek kodu może być na wagę złota.

1. Podstawowe aspekty eksportu danych

Eksport danych do Excela to nie tylko konwersja z jednego formatu na inny. To możliwość dostosowania raportów w taki sposób, aby były wygodne i czytelne. Jak mawiał mój znajomy programista: "Python potrafi magię, ale nawet Harry Potter potrzebuje różdżki". W naszym przypadku różdżką jest metoda to_excel z biblioteki pandas.

Podstawy to_excel

Zacznijmy od prostego przykładu eksportu danych z DataFrame do pliku Excel. Załóżmy, że mamy DataFrame z danymi uczestników maratonu:

Python

import pandas as pd

# Tworzymy DataFrame
data = {
    'Imię': ['Anna', 'Boris', 'Wiktor', 'Galina'],
    'Wiek': [29, 34, 22, 28],
    'Miasto': ['Moskwa', 'Sankt Petersburg', 'Kazań', 'Nowosybirsk'],
    'Czas ukończenia': ['03:15:30', '03:45:10', '03:25:45', '03:50:05']
}

df = pd.DataFrame(data)

# Eksportujemy DataFrame do Excela
df.to_excel('marathon_participants.xlsx', index=False)

W tym przykładzie stworzyliśmy prosty DataFrame i wyeksportowaliśmy go do pliku marathon_participants.xlsx. Zwróć uwagę, że ustawiliśmy parametr index=False, aby nie eksportować indeksów DataFrame do Excela, jeśli nie są one potrzebne.

Dodawanie formatowania i stylów

Przechodzimy na kolejny poziom umiejętności — dodawanie stylów. Bo kto powiedział, że dane nie mogą być modne? Z biblioteką pandas i openpyxl można łatwo formatować tabele i dodawać style.

Python

import pandas as pd
from openpyxl import Workbook

# Tworzymy DataFrame
data = {
    'Imię': ['Anna', 'Boris', 'Wiktor', 'Galina'],
    'Wiek': [29, 34, 22, 28],
    'Miasto': ['Moskwa', 'Sankt Petersburg', 'Kazań', 'Nowosybirsk'],
    'Czas ukończenia': ['03:15:30', '03:45:10', '03:25:45', '03:50:05']
}

df = pd.DataFrame(data)

# Zapisujemy do Excela z formatowaniem
with pd.ExcelWriter('styled_marathon.xlsx', engine='openpyxl') as writer:
    df.to_excel(writer, index=False, sheet_name='Uczestnicy')
    worksheet = writer.sheets['Uczestnicy']
    for col in worksheet.columns:
        max_length = 0
        column = col[0].column_letter # uzyskujemy literowe oznaczenie kolumny
        for cell in col:
            try:
                if len(str(cell.value)) > max_length:
                    max_length = len(cell.value)
            except:
                pass
        adjusted_width = (max_length + 2) * 1.2
        worksheet.column_dimensions[column].width = adjusted_width

W tym przykładzie nie tylko eksportujemy dane, ale także dopasowujemy szerokość kolumn do treści, aby wyglądały bardziej estetycznie w Excelu. Używamy openpyxl, aby uzyskać dostęp do arkusza i zastosować stylizację.

Praca z wieloma arkuszami

Tworzenie raportów z wieloma arkuszami może brzmieć jak zadanie dla Supermana, ale w rzeczywistości jest to dość proste. Wyobraź sobie, że chcesz przechowywać dane z różnych rocznych zawodów na osobnych arkuszach.

Python

import pandas as pd

# Dane z różnych lat
data_2022 = {
    'Imię': ['Dmitrij', 'Elena'],
    'Wiek': [30, 29],
    'Miasto': ['Omsk', 'Władywostok'],
    'Czas ukończenia': ['03:20:05', '03:35:40']
}

data_2023 = {
    'Imię': ['Igor', 'Katerina'],
    'Wiek': [31, 27],
    'Miasto': ['Czelabińsk', 'Jekaterynburg'],
    'Czas ukończenia': ['03:29:10', '03:40:20']
}

df_2022 = pd.DataFrame(data_2022)
df_2023 = pd.DataFrame(data_2023)

# Zapisujemy dane na różne arkusze
with pd.ExcelWriter('marathon_data.xlsx') as writer:
    df_2022.to_excel(writer, sheet_name='2022', index=False)
    df_2023.to_excel(writer, sheet_name='2023', index=False)

Ten kod tworzy plik marathon_data.xlsx z dwoma arkuszami, na których znajdują się dane z różnych lat. Jest to bardzo wygodne do rozdzielania danych według lat, projektów lub dowolnych innych kategorii.

2. Zawsze jest co ulepszyć

Spróbuj pomyśleć nad tym, jak automatyzacja eksportu może być wbudowana w bardziej złożone procesy twojego projektu. Może chcesz dodać automatyczne tworzenie wykresów po eksporcie? Albo zintegrować raporty z interfejsem webowym dla bardziej wygodnego dostępu?

W każdym razie eksport danych do Excela to tylko początek drogi do tworzenia ładnych i informacyjnych raportów, które zrobią z ciebie gwiazdę analityki w twoim miejscu pracy lub w nauce!

Teraz masz narzędzia do automatyzacji eksportu danych i wiesz, jak uczynić swoje raporty w Excel bardziej czytelnymi i atrakcyjnymi. Więc do dzieła, i niech dane zawsze pracują dla ciebie!

1
Опрос
Pisanie zapytań,  28 уровень,  4 лекция
недоступен
Pisanie zapytań
Pisanie zapytań
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION