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:
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.
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.
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!
GO TO FULL VERSION