
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
DataFrame
zawierający podstawowe informacje o osobach. - Metoda
to_excel()
zapisuje dane do plikuplik.xlsx
. - Argument
index=False
zapobiega 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ć
DataFrame
do pliku Excela jednym poleceniem. - Dostępne są różne opcje, takie jak nazwa arkusza, wybór kolumn czy zapis indeksów.
- Za pomocą
ExcelWriter
moż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 zastosowaniaOpanuj 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, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.