
Jeśli kiedykolwiek zajmowałeś się analizą danych w Pythonie, to prawdopodobnie korzystałeś z biblioteki pandas. Jednym z jej niezwykle przydatnych narzędzi jest metoda to_excel(), która pozwala zapisywać dane do plików Excela. W tym artykule wyjaśnię, jak działa pandas.to_excel(), pokażę praktyczne przykłady jej użycia oraz przedstawię kilka przydatnych opcji konfiguracyjnych.
Podstawowe użycie pandas.to_excel()
Metoda to_excel() pozwala na zapisanie obiektów DataFrame do pliku Excela w formacie .xlsx lub .xls. Najprostsza forma jej użycia wygląda tak:
import pandas as pd
# Tworzymy przykładowy DataFrame
df = pd.DataFrame({
'Imię': ['Jan', 'Anna', 'Kamil'],
'Wiek': [28, 24, 31],
'Miasto': ['Warszawa', 'Kraków', 'Gdańsk']
})
# Zapisujemy go do pliku Excel
df.to_excel('plik.xlsx', index=False)
Tutaj dzieje się kilka rzeczy:
- Tworzony jest obiekt
DataFramezawierający podstawowe informacje o osobach. - Metoda
to_excel()zapisuje dane do plikuplik.xlsx. - Argument
index=Falsezapobiega zapisywaniu indeksów w pliku.
Po uruchomieniu skryptu w katalogu roboczym powinien pojawić się nowy plik Excela z naszymi danymi.
Opcje konfiguracyjne pandas.to_excel()
Metoda to_excel() obsługuje wiele parametrów, które pozwalają dostosować sposób zapisywania danych. Oto kilka z nich:
| Parametr | Opis |
|---|---|
index |
Określa, czy indeks DataFrame ma być zapisany. Domyślnie: True. |
sheet_name |
Nazwa arkusza, do którego mają być zapisane dane. Domyślnie: 'Sheet1'. |
header |
Określa, czy nagłówki kolumn mają być zapisane. Domyślnie: True. |
columns |
Lista kolumn, które mają być zapisane. |
engine |
Określa silnik, którego pandas użyje do zapisu ('openpyxl' dla .xlsx, 'xlwt' dla .xls). |
Zapis do wielu arkuszy Excela
Czasami chcemy zapisać kilka różnych DataFrame do jednego pliku, ale w osobnych arkuszach. Do tego celu używamy ExcelWriter:
with pd.ExcelWriter('wiele_arkuszy.xlsx', engine='openpyxl') as writer:
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'X': ['a', 'b', 'c'], 'Y': ['d', 'e', 'f']})
df1.to_excel(writer, sheet_name='Dane1')
df2.to_excel(writer, sheet_name='Dane2')
W wyniku otrzymujemy plik Excela, który zawiera dwa arkusze: Dane1 oraz Dane2.
Zachowanie formatowania w pliku Excel
Biblioteka pandas sama w sobie nie oferuje pełnej kontroli nad formatowaniem plików Excela, ale można ją rozszerzyć, korzystając z pakietu openpyxl. Oto przykład:
from openpyxl import load_workbook
from openpyxl.styles import Font
df = pd.DataFrame({'Produkt': ['Laptop', 'Telefon', 'Tablet'], 'Cena': [3000, 1500, 1200]})
# Zapisujemy pierwszy raz, aby utworzyć plik
df.to_excel('formatowanie.xlsx', index=False)
# Otwieramy plik i dodajemy formatowanie
wb = load_workbook('formatowanie.xlsx')
ws = wb.active
# Formatowanie nagłówków
for cell in ws[1]:
cell.font = Font(bold=True)
wb.save('formatowanie.xlsx')
Po uruchomieniu tego kodu komórki w pierwszym wierszu pliku Excel będą pogrubione.
Podsumowanie
Metoda pandas.to_excel() to niezwykle przydatne narzędzie, które umożliwia łatwy zapis danych do Excela. Poniżej krótkie podsumowanie jej możliwości:
- Można zapisać
DataFramedo pliku Excela jednym poleceniem. - Dostępne są różne opcje, takie jak nazwa arkusza, wybór kolumn czy zapis indeksów.
- Za pomocą
ExcelWritermożna zapisać wiele arkuszy w jednym pliku. - Możliwe jest także formatowanie pliku dzięki
openpyxl.
Znajomość tych funkcji pozwala na łatwe i szybkie generowanie raportów czy eksportowanie danych w profesjonalnej formie.
Inny ciekawy artykuł:
Jak działa pandas to_csv w języku Python? Przykład zastosowania
Opanuj analizę danych w Pythonie z moim kursem!
Opanujesz podstawy programowania w Pythonie, w tym typy danych, zmienne, listy, słowniki, funkcje oraz obsługę błędów. Nauczysz się korzystać z biblioteki pandas do zaawansowanej analizy danych i pracy z różnymi rodzajami danych. Zrozumiesz proces analizy, eksploracji (EDA) i wizualizacji. Tworzenie własnych funkcji przygotuje Cię do rozmów kwalifikacyjnych i rozwiązywania rzeczywistych problemów biznesowych.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, PowerBI, Tableau i Pythona z certyfikatami!
🟨 Ekskluzywana ale pomagająca sobie społeczność.
🟩 Ponad 75 godzin materiałów video.
🟨 Spotkania LIVE co miesiąc.
🟩 Mój osobisty mentoring.

