Les développeurs ont souvent besoin d’exporter un DataFrame Pandas vers Excel. Excel est un excellent outil pour partager et examiner des rapports. Python avec Pandas rend cela simple, mais utiliser Aspose.Cells for Python vous donne plus de contrôle. Vous pouvez convertir un DataFrame en Excel directement, via CSV, via JSON, ou même exporter plusieurs DataFrames dans un seul fichier. Dans cet article, vous apprendrez comment convertir un DataFrame Pandas en Excel avec quatre méthodes étape par étape.

Pourquoi utiliser Aspose.Cells pour Pandas vers Excel

Pandas a une fonction intégrée toexcel(). Elle fonctionne pour des exports de base mais est limitée en fonctionnalités. Aspose.Cells for Python est l’une des meilleures bibliothèques Python Excel pour les développeurs, offrant un moteur Excel complet. Elle vous permet d’enregistrer des DataFrames au format Excel avec une grande fiabilité. Vous pouvez également travailler avec des graphiques, des formules, des formats et de gros fichiers.

Cet article vous montrera comment exporter un DataFrame Pandas vers Excel en utilisant Aspose.Cells de différentes manières.

Avant de commencer, assurez-vous d’avoir installé ce qui suit :

  1. Download Aspose.Cells for Python depuis les releases ou installez avec pip :
pip install aspose-cells-python
  1. Pandas – installer avec pip :
pip install pandas

Ces deux bibliothèques vous permettront de convertir des DataFrames Pandas en fichiers Excel.

Méthode 1 : Convertir un DataFrame en Excel directement avec Aspose.Cells

La tâche la plus courante consiste à exporter un DataFrame Pandas vers Excel directement. Avec Aspose.Cells, vous pouvez créer un classeur, importer les valeurs du DataFrame et l’enregistrer en tant que fichier Excel.

Suivez les étapes ci-dessous pour convertir DataFrame en Excel :

  1. Build a sample dataset.
  2. Initialiser un classeur Excel vide.
  3. Accédez à la première feuille dans le classeur.
  4. Insérer les noms de colonnes du DataFrame dans les cellules Excel.
  5. Parcourez chaque ligne du DataFrame et placez des valeurs dans les cellules.
  6. Exportez le classeur final au format Excel.

L’exemple de code suivant montre comment convertir un Pandas en Excel directement :

import aspose.cells as ac
import pandas as pd

# Étape 1 : Créer un DataFrame d'exemple
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['New York', 'Paris', 'London', 'Berlin']
}
df = pd.DataFrame(data)

# Étape 2 : Créez un nouveau classeur
wb = ac.Workbook()

# Étape 3 : Obtenez la première feuille de calcul
worksheet = wb.worksheets[0]

# Étape 4 : Obtenez la collection de cellules
cells = worksheet.cells

# Étape 5 : Écrire les noms des colonnes du DataFrame dans Excel
rowindex = 0
colindex = 0
for column in df:
    cell = cells.get(rowindex, colindex)
    cell.put_value(df[column].name)
    colindex += 1

# Étape 6 : Écrire les lignes du DataFrame dans 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

# Étape 7 : Enregistrez le DataFrame au format Excel
wb.save("direct_df_to_excel.xlsx")
Convertir un DataFrame en Excel directement avec Aspose.Cells

Convertir DataFrame en Excel directement avec Aspose.Cells.

Ce code enregistre le DataFrame Pandas dans un fichier Excel à l’emplacement donné. Vous pouvez changer le chemin pour l’adapter à votre système.

Cette méthode vous donne un contrôle total sur la manière dont les données du DataFrame Pandas sont écrites dans Excel. C’est la manière la plus directe de convertir un DF en Excel en utilisant Aspose.Cells.

Méthode 2 : Convertir DataFrame en Excel via CSV

Une autre façon simple est d’enregistrer votre DataFrame Pandas au format CSV d’abord, puis de convertir ce fichier CSV en Excel en utilisant Aspose.Cells. Cela est utile lorsque votre processus génère déjà une sortie CSV et que vous avez toujours besoin d’un fichier Excel propre.

Veuillez suivre ces étapes pour convertir un DataFrame en Excel via CSV :

  1. Build sample data.
  2. Sauvegarder DataFrame au format CSV en utilisant la méthode tocsv() de Pandas.
  3. Ouvrez le CSV en tant que classeur.
  4. Exportez le classeur au format .xlsx.

L’exemple de code suivant montre comment convertir Pandas en Excel via CSV :

import aspose.cells as ac
import pandas as pd

# Étape 1 : Créer un DataFrame échantillon
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['New York', 'Paris', 'London', 'Berlin']
}
df = pd.DataFrame(data)

# Étape 2 : Enregistrer le DataFrame en tant que CSV
df.to_csv("temp.csv", index=False)

# Étape 3 : Charger le fichier CSV avec Aspose.Cells
wb = ac.Workbook("temp.csv")

# Étape 4 : Enregistrer au format Excel
wb.save("df_via_csv.xlsx")

Cette approche crée d’abord un fichier CSV, puis le convertit en Excel. Elle garantit que votre conversion de Pandas vers Excel fonctionne même si votre pipeline s’appuie déjà sur des fichiers CSV.

Utilisez cette méthode lorsque vous souhaitez passer rapidement de CSV à Excel tout en conservant la flexibilité de Pandas et Aspose.Cells.

Méthode 3 : Convertir DataFrame en Excel via JSON

De nombreuses API utilisent JSON. Vous pouvez également passer JSON à Aspose.Cells pour créer une feuille Excel. Cette méthode convertit d’abord un DataFrame Pandas en JSON, puis charge ce JSON dans Excel sous forme de tableau. Cela maintient votre exportation de pandas vers Excel propre et fiable. Cela aide également lorsque vous souhaitez un contrôle strict sur les en-têtes et les types de données.

Veuillez suivre les étapes ci-dessous :

  1. Build sample data for the demo.
  2. Appelez df.tojson(orient='records') pour convertir.
  3. Initialisez l’objet de la classe Workbook() et obtenez la première feuille de calcul.
  4. Activer arrayastable pour un import tabulaire correct.
  5. Appelez la méthode JsonUtility.importdata() pour importer des données JSON dans les cellules de la feuille de calcul.
  6. Écrivez le fichier final dans le .xlsx.

L’exemple de code suivant montre comment convertir un DF Pandas en Excel via JSON :

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

# Créer un échantillon de DataFrame pandas
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'City': ['New York', 'San Francisco', 'Los Angeles']}
        	
df = pd.DataFrame(data)

# Convertir un DataFrame pandas en JSON
json_string = df.to_json(orient='records')

workbook = Workbook()

# Obtenez la première feuille de calcul.
worksheet = workbook.worksheets[0]

# Get the cells
cells = worksheet.cells

options = JsonLayoutOptions()
unit = JsonUtility()

# Processes as table
options.array_as_table = True

# Importer des données JSON dans la feuille de calcul en commençant à la ligne 0, colonne 0
unit.import_data(json_string, cells, 0, 0, options)

# Enregistrer en tant que fichier Excel
workbook.save("df_via_json.xlsx")

L’ orient='records' produit une liste d’objets. Chaque objet associe des clés aux noms de colonnes. arrayastable=True indique à Aspose.Cells de traiter le tableau comme une vraie table avec des en-têtes. L’importateur écrit des valeurs dans les cellules à partir de A1. Cela vous donne une mise en page prévisible dans Excel.

Méthode 4 : Exporter plusieurs DataFrames vers des feuilles Excel

Vous pouvez écrire plus d’un DataFrame Pandas dans un seul fichier Excel. Chaque DataFrame va à sa propre feuille. Cette méthode vous offre une exportation propre de pandas vers Excel pour les rapports et les tables groupées.

Please follow the step below:

  1. Créez une fonction qui écrit plusieurs DataFrames sur plusieurs feuilles.
  2. Initialiser un nouveau classeur.
  3. Ajoutez une feuille pour chaque DataFrame et nommez-la à partir de sheetnames.
  4. Mettez les noms des colonnes dans la première ligne.
  5. Parcourez les tuples DataFrame et écrivez les valeurs de cellule.
  6. Exportez au format XLSX avec la méthode workbook.save().

L’exemple de code suivant montre comment exporter plusieurs DataFrames Pandas vers des feuilles Excel :

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
    """
    # Créer un classeur vide
    workbook = Workbook()

    # Optionnel : supprimez la feuille vierge par défaut si vous n'en avez pas besoin
    # workbook.worksheets.removeat(0)

   for df, name in zip(dataframes, sheet_names):
        # Ajouter une nouvelle feuille de calcul
        worksheet = workbook.worksheets.add(name)
        cells = worksheet.cells

        # Écrire les en-têtes de columnnes
       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)

    # Enregistrer en tant que fichier Excel
    workbook.save(output_path, SaveFormat.XLSX)

# Créer deux DataFrames
df1 = pd.DataFrame({
    "Name": ["Alice", "Bob"],
    "Age": [25, 30]
})

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

# Write to Excel
write_multiple_dataframes_to_excel(
    dataframes=[df1, df2],
    sheet_names=["People", "Products"],
    output_path="MultiDataFrame.xlsx"
)
Exporter plusieurs DataFrames Pandas vers des feuilles Excel avec Aspose.Cells

Exporter plusieurs DataFrames Pandas vers des feuilles Excel avec Aspose.Cells.

La fonction associe chaque DataFrame à un nom d’onglet. Elle écrit des en-têtes à la ligne 0 et les données à partir de la ligne 1. Aspose.Cells écrit des valeurs dans les cellules avec un typage fort. Le fichier XLSX final garde vos tableaux clairs et prêts à être partagés.

Obtenez une licence gratuite

Évaluez Aspose.Cells for Python via .NET sans limites. Demandez une licence temporaire gratuite sur la page de licence.Appliquez-la dans votre code pour supprimer les restrictions d’évaluation. Testez chaque fonctionnalité, y compris DF vers Excel, graphiques, formules et fichiers volumineux.

PD to Excel : Ressources gratuites

Veuillez utiliser ces ressources pour enrichir vos connaissances et améliorer votre compréhension.

Conclusion

Vous avez appris diverses façons d’exporter un DataFrame Pandas vers Excel avec Aspose.Cells for Python. Vous pouvez enregistrer un DataFrame directement, utiliser CSV, utiliser JSON, ou écrire plusieurs DataFrames dans un seul fichier. Chaque méthode est simple, rapide et fiable. Si vous recherchez des fonctionnalités Excel avancées au-delà de Pandas, Aspose.Cells est le bon choix. Essayez-le dans votre prochain projet et passez de Pandas à Excel avec un contrôle total.

Si vous avez des questions, visitez notre forum de support gratuit.Nous serons heureux de vous aider.

Voir aussi