Programiści często muszą eksportować ramkę danych Pandas do Excela. Excel to doskonałe narzędzie do udostępniania i przeglądania raportów. Python z Pandas ułatwia to, ale użycie Aspose.Cells for Python daje większą kontrolę. Możesz przekonwertować ramkę danych na Excel bezpośrednio, przez CSV, poprzez JSON lub nawet eksportować wiele ramek danych do jednego pliku. W tym artykule nauczysz się, jak krok po kroku przekonwertować ramkę danych Pandas na Excel przy użyciu czterech metod.

Dlaczego warto używać Aspose.Cells do Pandas na Excel

Pandas ma wbudowaną funkcję toexcel(). Działa ona dla podstawowych eksportów, ale ma ograniczone funkcje. Aspose.Cells for Python jest jedną z najlepszych bibliotek Excel dla Python dla programistów, która zapewnia kompletny silnik Excel. Umożliwia zapisanie DataFrame’ów do Excela z wysoką niezawodnością. Możesz również pracować z wykresami, formułami, formatowaniem i dużymi plikami.

Ten artykuł pokaże Ci, jak eksportować DataFrame Pandas do Excela za pomocą Aspose.Cells na różne sposoby.

Zanim rozpoczniesz, upewnij się, że masz zainstalowane następujące:

  1. Ściągnij Aspose.Cells for Python z wydań lub zainstaluj za pomocą pip:
pip install aspose-cells-python
  1. Pandas – zainstaluj za pomocą pip:
pip install pandas

Te dwie biblioteki pozwolą Ci przekształcić ramki danych Pandas na pliki Excel.

Metoda 1: Bezpośrednia konwersja DataFrame do Excela z Aspose.Cells

Najczęstszym zadaniem jest bezpośrednie wyeksportowanie DataFrame Pandas do Excela. Dzięki Aspose.Cells możesz utworzyć skoroszyt, zaimportować wartości DataFrame i zapisać go jako plik Excel.

Postępuj zgodnie z poniższymi krokami, aby przekształcić DataFrame do Excela:

  1. Build a sample dataset.
  2. Zainicjuj pusty skoroszyt Excel.
  3. Uzyskaj dostęp do pierwszego arkusza w skoroszycie.
  4. Wstaw nazwy kolumn DataFrame do komórek Excela.
  5. Przejdź przez każdy wiersz w DataFrame i umieść wartości w komórkach.
  6. Eksportuj ostateczny skoroszyt do pliku Excel.

Poniższy przykład kodu pokazuje, jak bezpośrednio konwertować Pandas na Excel:

import aspose.cells as ac
import pandas as pd

# Krok 1: Utwórz przykładowy DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['New York', 'Paris', 'London', 'Berlin']
}
df = pd.DataFrame(data)

# Krok 2: Utwórz nowy skoroszyt
wb = ac.Workbook()

# Krok 3: Pobierz pierwszy arkusz roboczy
worksheet = wb.worksheets[0]

# Krok 4: Pobierz kolekcję komórek
cells = worksheet.cells

# Krok 5: Zapisz nazwy kolumn DataFrame do Excela
rowindex = 0
colindex = 0
for column in df:
    cell = cells.get(rowindex, colindex)
    cell.put_value(df[column].name)
    colindex += 1

# Krok 6: Zapisz wiersze DataFrame do Excela
for index, row in df.iterrows():
    rowindex += 1
    colindex = 0
    cell = cells.get(rowindex, colindex)
    cell.put_value(row["name"])
    colindex += 1
    cell = cells.get(rowindex, colindex)
    cell.put_value(row["age"])
    colindex += 1
    cell = cells.get(rowindex, colindex)
    cell.put_value(row["city"])
    colindex += 1

# Krok 7: Zapisz DataFrame jako Excel
wb.save("direct_df_to_excel.xlsx")
Konwertuj DataFrame do Excela bezpośrednio za pomocą Aspose.Cells

Zmień DataFrame na Excel bezpośrednio za pomocą Aspose.Cells.

Ten kod zapisuje DataFrame Pandas do Excela w podanej lokalizacji. Możesz zmienić ścieżkę, aby dopasować ją do swojego systemu.

Ta metoda daje ci pełną kontrolę nad tym, jak dane DataFrame Pandas są zapisywane do Excela. Jest to najprostszy sposób, aby przekonwertować DF na Excel za pomocą Aspose.Cells.

Metoda 2: Konwertuj DataFrame na Excel za pomocą CSV

Inny prosty sposób to najpierw zapisać swój DataFrame Pandas jako CSV, a następnie przekształcić ten plik CSV na Excel za pomocą Aspose.Cells. To jest przydatne, gdy twój proces już generuje wyjście CSV, a nadal potrzebujesz czystego pliku Excel.

Proszę postępować zgodnie z tymi krokami, aby przekonwertować DataFrame na Excel za pomocą CSV:

  1. Build sample data.
  2. Zapisz DataFrame jako CSV używając metody tocsv() z Pandas.
  3. Otwórz plik CSV jako skoroszyt.
  4. Eksportuj skoroszyt do pliku .xlsx.

Następny przykład kodu pokazuje, jak przekształcić Pandas na Excel za pomocą CSV:

import aspose.cells as ac
import pandas as pd

# Krok 1: Utwórz przykład DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['New York', 'Paris', 'London', 'Berlin']
}
df = pd.DataFrame(data)

# Krok 2: Zapisz DataFrame jako CSV
df.to_csv("temp.csv", index=False)

# Krok 3: Załaduj plik CSV za pomocą Aspose.Cells
wb = ac.Workbook("temp.csv")

# Krok 4: Zapisz jako plik Excel
wb.save("df_via_csv.xlsx")

To podejście najpierw tworzy plik CSV, a następnie konwertuje go na Excel. Zapewnia, że konwersja Pandas do Excela działa, nawet jeśli twój proces już opiera się na plikach CSV.

Użyj tej metody, gdy chcesz szybko przejść z CSV do Excela, zachowując elastyczność Pandas i Aspose.Cells.

Metoda 3: Konwertuj DataFrame na Excel za pomocą JSON

Wiele interfejsów API używa JSON. Możesz również przekazać JSON do Aspose.Cells, aby zbudować arkusz Excel. Ta metoda najpierw konwertuje DataFrame Pandas na JSON, a następnie ładuje ten JSON do Excela jako tabelę. Utrzymuje to eksport pandas do Excela w czystości i niezawodności. Pomaga to również, gdy chcesz mieć ścisłą kontrolę nad nagłówkami i typami danych.

Proszę postępować zgodnie z poniższymi krokami:

  1. Zbuduj przykładowe dane do demo.
  2. Zadzwoń do df.tojson(orient='records'), aby skonwertować.
  3. Zainicjalizuj obiekt klasy Workbook() i uzyskaj pierwszy arkusz kalkulacyjny.
  4. Włącz arrayastable, aby przeprowadzić prawidłowy import tabeli.
  5. Wywołaj metodę JsonUtility.importdata(), aby zaimportować JSON do komórek arkusza kalkulacyjnego.
  6. Napisz ostateczny plik do .xlsx.

Następujący przykład kodu pokazuje, jak przekonwertować DF Pandas na Excel za pomocą JSON:

import pandas as pd
from aspose.cells.utility import JsonUtility, JsonLayoutOptions
from aspose.cells import Workbook, Worksheet, Cells

# Utwórz przykładowy DataFrame pandas
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'City': ['New York', 'San Francisco', 'Los Angeles']}
        	
df = pd.DataFrame(data)

# Convert pandas DataFrame to JSON
json_string = df.to_json(orient='records')

workbook = Workbook()

# Pobierz pierwszy arkusz roboczy
worksheet = workbook.worksheets[0]

# Get the cells
cells = worksheet.cells

options = JsonLayoutOptions()
unit = JsonUtility()

# Procesy jako tabela
options.array_as_table = True

# Importuj dane JSON do arkusza, zaczynając od wiersza 0, kolumna 0
unit.import_data(json_string, cells, 0, 0, options)

# Zapisz jako plik Excel
workbook.save("df_via_json.xlsx")

orient='records' generuje listę obiektów. Każdy obiekt mapuje klucze do nazw kolumn. arrayastable=True informuje Aspose.Cells, aby traktował tablicę jako właściwą tabelę z nagłówkami. Importer zapisuje wartości w komórkach zaczynając od A1. Daje to przewidywalny układ w Excelu.

Metoda 4: Eksportowanie wielu DataFrame’ów do arkuszy Excel

Możesz zapisać więcej niż jeden DataFrame Pandas do jednego pliku Excel. Każdy DataFrame trafia na swoją własną kartę. Ta metoda daje ci czysty eksport pandas do Excela do raportów i tabel z grupami.

Proszę postępować zgodnie z poniższym krokiem:

  1. Utwórz funkcję, która zapisuje wiele DataFrame’ów do wielu arkuszy.
  2. Zainicjuj nowy skoroszyt.
  3. Dodaj arkusz dla każdej ramki danych i nazwij go z sheetnames.
  4. Umieść nazwy kolumn w pierwszym wierszu.
  5. Przejdź przez krotki DataFrame i zapisz wartości komórek.
  6. Eksportuj jako XLSX za pomocą metody workbook.save().

Poniższy przykład kodu pokazuje, jak eksportować wiele ramek danych Pandas do arkuszy Excela:

import pandas as pd
from aspose.cells import Workbook, WorksheetCollection, SaveFormat

def write_multiple_dataframes_to_excel(dataframes, sheet_names, output_path):
    """
    Write multiple DataFrames to multiple sheets in an Excel file
    :param dataframes: List of pandas.DataFrame
    :param sheet_names: List of sheet names (same length as dataframes)
    :param output_path: Output Excel file path
    """
    # Utwórz pusty skoroszyt
    workbook = Workbook()

    # Opcjonalnie: usuń domyślny pusty arkusz, jeśli go nie potrzebujesz
    # workbook.worksheets.removeat(0)

   for df, name in zip(dataframes, sheet_names):
        # Dodaj nowy arkusz kalkulacyjny
        worksheet = workbook.worksheets.add(name)
        cells = worksheet.cells

        # Write column headers
       for col_idx, col_name in enumerate(df.columns):
            cells.get(0, col_idx).put_value(str(col_name))

        # Write row data
       for row_idx, row in enumerate(df.itertuples(index=False), start=1):
           for col_idx, value in enumerate(row):
                cells.get(row_idx, col_idx).put_value(value)

    # Zapisz jako plik Excel
    workbook.save(output_path, SaveFormat.XLSX)

# Utwórz dwa DataFrame'y
df1 = pd.DataFrame({
    "Name": ["Alice", "Bob"],
    "Age": [25, 30]
})

df2 = pd.DataFrame({
    "Product": ["Book", "Pen"],
    "Price": [10.5, 1.99]
})

# Napisz do Excela
write_multiple_dataframes_to_excel(
    dataframes=[df1, df2],
    sheet_names=["People", "Products"],
    output_path="MultiDataFrame.xlsx"
)
Eksportowanie wielu DataFrame'ów Pandas do arkuszy Excela z Aspose.Cells

Eksportuj wiele ram danych Pandas do arkuszy Excela za pomocą Aspose.Cells.

Funkcja paruje każdą ramkę danych z nazwą arkusza. Pisze nagłówki w wierszu 0 i dane od wiersza 1. Aspose.Cells zapisuje wartości do komórek z silnym typowaniem. Ostateczny plik XLSX utrzymuje twoje tabele w porządku i gotowe do udostępnienia.

Uzyskaj darmową licencję

Oceń Aspose.Cells for Python za pośrednictwem .NET bez ograniczeń. Zamów tymczasową licencję za darmo na stronie licencji.Zastosuj ją w swoim kodzie, aby usunąć ograniczenia oceny. Przetestuj każdą funkcję, w tym DF do Excela, wykresy, formuły i duże pliki.

PD do Excela: Darmowe zasoby

Proszę skorzystać z tych zasobów, aby wzbogacić swoją wiedzę i poprawić swoje zrozumienie.

Konkluzja

Nauczyłeś się różnych sposobów na eksportowanie DataFrame Pandas do Excela za pomocą Aspose.Cells for Python. Możesz zapisać DataFrame bezpośrednio, użyć CSV, użyć JSON lub zapisać wiele DataFrame’ów w jednym pliku. Każda z metod jest prosta, szybka i niezawodna. Jeśli szukasz zaawansowanych funkcji Excela wykraczających poza Pandas, Aspose.Cells jest właściwym wyborem. Wypróbuj to w swoim następnym projekcie i przejdź z Pandas do Excela z pełną kontrolą.

Jeśli masz jakiekolwiek pytania, odwiedź nasze bezpłatne forum wsparcia.Będziemy z przyjemnością ci pomagać.

Zobacz także