Jak działa pandas to_excel w języku Python? Przykład zastosowania

Jak działa pandas to_excel w języku Python? Przykład zastosowania
„`html

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 pliku plik.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:

  1. Można zapisać DataFrame do pliku Excela jednym poleceniem.
  2. Dostępne są różne opcje, takie jak nazwa arkusza, wybór kolumn czy zapis indeksów.
  3. Za pomocą ExcelWriter można zapisać wiele arkuszy w jednym pliku.
  4. 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
KajoDataSpace