Utvecklare behöver ofta exportera en Pandas DataFrame till Excel. Excel är ett utmärkt verktyg för att dela och granska rapporter. Python med Pandas gör detta enkelt, men att använda Aspose.Cells för Python ger dig mer kontroll. Du kan konvertera en DataFrame till Excel direkt, genom CSV, via JSON, eller till och med exportera flera DataFrames till en fil. I den här artikeln kommer du att lära dig hur du konverterar en Pandas dataframe till Excel med fyra metoder steg för steg.

Varför använda Aspose.Cells för Pandas till Excel

Pandas har en inbyggd toexcel()-funktion. Den fungerar för grundläggande exporter men är begränsad i sina funktioner. Aspose.Cells for Python är ett av de bästa Python Excel-biblioteken för utvecklare och erbjuder en komplett Excel-motor. Den låter dig spara DataFrames till Excel med hög pålitlighet. Du kan också arbeta med diagram, formler, formatering och stora filer.

Denna artikel kommer att visa dig hur man exporterar en Pandas DataFrame till Excel med Aspose.Cells på olika sätt.

Innan du börjar, se till att du har följande installerat:

  1. Download Aspose.Cells for Python från releases eller installera med pip:
pip install aspose-cells-python
  1. Pandas – installera med pip:
pip install pandas

Dessa två bibliotek kommer att tillåta dig att konvertera Pandas DataFrames till Excel-filer.

Metod 1: Konvertera DataFrame till Excel Direkt med Aspose.Cells

Det vanligaste uppdraget är att exportera en Pandas DataFrame till Excel direkt. Med Aspose.Cells kan du skapa en arbetsbok, importera DataFrame-värdena och spara den som en Excel-fil.

Följ stegen nedan för att konvertera DataFrame till Excel:

  1. Build a sample dataset.
  2. Initiera en tom Excel-arbetsbok.
  3. Åtkomst till det första bladet i arbetsboken.
  4. Infoga DataFrame-kolumnnamn i Excel-celler.
  5. Loopa igenom varje rad i DataFrame och lägg värden i cellerna.
  6. Exportera den slutliga arbetsboken till en Excel-fil.

Följande kodexempel visar hur man konverterar en Pandas till Excel direkt:

import aspose.cells as ac
import pandas as pd

# Steg 1: Skapa en exempel DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['New York', 'Paris', 'London', 'Berlin']
}
df = pd.DataFrame(data)

# Steg 2: Skapa en ny arbetsbok
wb = ac.Workbook()

# Steg 3: Hämta det första kalkylbladet
worksheet = wb.worksheets[0]

# Steg 4: Hämta cellsamlingen
cells = worksheet.cells

# Steg 5: Skriv DataFrame-kolumnnamn till Excel
rowindex = 0
colindex = 0
for column in df:
    cell = cells.get(rowindex, colindex)
    cell.put_value(df[column].name)
    colindex += 1

# Steg 6: Skriv DataFrame-rader till Excel
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

# Steg 7: Spara DataFrame som Excel
wb.save("direct_df_to_excel.xlsx")
Konvertera DataFrame till Excel Direkt med Aspose.Cells

Konvertera DataFrame till Excel direkt med Aspose.Cells.

Denna kod sparar Pandas DataFrame till Excel på den angivna platsen. Du kan ändra sökvägen för att matcha ditt system.

Denna metod ger dig full kontroll över hur data från Pandas DataFrame skrivs till Excel. Det är det mest direkta sättet att konvertera en DF till Excel med hjälp av Aspose.Cells.

Metod 2: Konvertera DataFrame till Excel via CSV

Ett annat enkelt sätt är att först spara din Pandas DataFrame som CSV, och sedan konvertera den CSV-filen till Excel med Aspose.Cells. Detta är användbart när din process redan genererar CSV-utdata och du fortfarande behöver en ren Excel-fil.

Vänligen följ dessa steg för att konvertera DataFrame till Excel via CSV:

  1. Build sample data.
  2. Spara DataFrame som CSV med metoden tocsv() från Pandas.
  3. Öppna CSV-filen som en arbetsbok.
  4. Exportera arbetsboken till .xlsx-fil.

Följande kodexempel visar hur man konverterar Pandas till Excel via CSV:

import aspose.cells as ac
import pandas as pd

# Steg 1: Skapa en prov DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['New York', 'Paris', 'London', 'Berlin']
}
df = pd.DataFrame(data)

# Steg 2: Spara DataFrame som CSV
df.to_csv("temp.csv", index=False)

# Steg 3: Ladda CSV-fil med Aspose.Cells
wb = ac.Workbook("temp.csv")

# Steg 4: Spara som Excel-fil
wb.save("df_via_csv.xlsx")

Denna metod skapar först en CSV-fil, sedan konverterar den den till Excel. Den säkerställer att din Pandas till Excel-konvertering fungerar även om din pipeline redan är beroende av CSV-filer.

Använd den här metoden när du vill gå från CSV till Excel snabbt samtidigt som du behåller flexibiliteten hos Pandas och Aspose.Cells.

Metod 3: Konvertera DataFrame till Excel via JSON

Många API:er använder JSON. Du kan också skicka JSON till Aspose.Cells för att skapa ett Excel-ark. Denna metod konverterar först en Pandas DataFrame till JSON, och laddar sedan den JSON:en till Excel som en tabell. Den håller din pandas till Excel-export ren och pålitlig. Det hjälper också när du vill ha strikt kontroll över rubriker och datatyper.

Vänligen följ stegen nedan:

  1. Bygg provdata för demonstrationen.
  2. Anropa df.tojson(orient='records') för att konvertera.
  3. Initiera Workbook() klassobjektet och hämta det första kalkylbladet.
  4. Aktivera arrayastable för korrekt tabulär import.
  5. Anropa metoden JsonUtility.importdata() för att importera JSON till kalkylblads celler.
  6. Skriv den slutliga filen till .xlsx.

Följande kodexempel visar hur man konverterar en Pandas DF till Excel via JSON:

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

# Skapa en exempel pandas DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'City': ['New York', 'San Francisco', 'Los Angeles']}
        	
df = pd.DataFrame(data)

# Konvertera pandas DataFrame till JSON
json_string = df.to_json(orient='records')

workbook = Workbook()

# Få det första kalkylbladet
worksheet = workbook.worksheets[0]

# Hämta cellerna
cells = worksheet.cells

options = JsonLayoutOptions()
unit = JsonUtility()

# Processes as table
options.array_as_table = True

# Importera JSON-data till kalkylbladet som börjar på rad 0, kolumn 0
unit.import_data(json_string, cells, 0, 0, options)

# Spara som Excel-fil
workbook.save("df_via_json.xlsx")

orient='records' producerar en lista med objekt. Varje objekt mappas nycklar till kolumnnamn. arrayastable=True säger åt Aspose.Cells att behandla arrayen som en riktig tabell med rubriker. Importören skriver värden i celler som börjar vid A1. Detta ger dig en förutsägbar layout i Excel.

Metod 4: Exportera flera DataFrames till Excel-flikar

Du kan skriva mer än en Pandas DataFrame till en enda Excel-fil. Varje DataFrame går till sitt eget blad. Denna metod ger dig en ren pandas till Excel-export för rapporter och grupperade tabeller.

Please follow the step below:

  1. Skapa en funktion som skriver många DataFrames till många ark.
  2. Initiera en ny arbetsbok.
  3. Lägg till ett ark för varje DataFrame och namnge det från sheetnames.
  4. Sätt kolumnnamn i den första raden.
  5. Loopa genom DataFrame-tupler och skriv cellvärden.
  6. Exportera som XLSX med metoden workbook.save().

Följande kodexempel visar hur man exporterar flera Pandas DataFrames till Excel-ark:

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
    """
    # Skapa en tom arbetsbok
    workbook = Workbook()

    # Valfritt: ta bort det förvalda tomma arket om du inte behöver det
    # workbook.worksheets.removeat(0)

   for df, name in zip(dataframes, sheet_names):
        # Lägg till ett nytt kalkylblad
        worksheet = workbook.worksheets.add(name)
        cells = worksheet.cells

        # Skriv kolumnhuvuden
       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)

    # Spara som Excel-fil
    workbook.save(output_path, SaveFormat.XLSX)

# Skapa två DataFrames
df1 = pd.DataFrame({
    "Name": ["Alice", "Bob"],
    "Age": [25, 30]
})

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

# Skriv till Excel
write_multiple_dataframes_to_excel(
    dataframes=[df1, df2],
    sheet_names=["People", "Products"],
    output_path="MultiDataFrame.xlsx"
)
Export Multiple Pandas DataFrames to Excel Sheets with Aspose.Cells

Exportera flera Pandas DataFrames till Excel-ark med Aspose.Cells.

Funktionen parar varje DataFrame med ett ark namn. Den skriver rubriker i rad 0 och data från rad 1. Aspose.Cells skriver värden till celler med stark typning. Den slutliga XLSX-filen håller dina tabeller tydliga och redo att delas.

Få en gratis licens

Utvärdera Aspose.Cells för Python via .NET utan begränsningar. Begär en gratis temporär licens från licenssidan.Tillämpa den i din kod för att ta bort utvärderingsbegränsningar. Testa alla funktioner, inklusive DF till Excel, diagram, formler och stora filer.

PD till Excel: Gratis resurser

Vänligen använd dessa resurser för att förbättra din kunskap och öka din förståelse.

Slutsats

Du har lärt dig olika sätt att exportera en Pandas DataFrame till Excel med Aspose.Cells för Python. Du kan spara en DataFrame direkt, använda CSV, använda JSON eller skriva flera DataFrames i en fil. Varje metod är enkel, snabb och pålitlig. Om du letar efter avancerade Excel-funktioner bortom Pandas är Aspose.Cells rätt val. Prova det i ditt nästa projekt och övergå från Pandas till Excel med full kontroll.

Om du har några frågor, besök vårt free support forum.Vi kommer att vara glada att hjälpa dig.

Se även