NumPy est l’une des bibliothèques les plus populaires en Python. Elle alimente la science des données, l’apprentissage automatique et l’analyse numérique. De nombreux développeurs utilisent les tableaux NumPy (ndarray) pour traiter rapidement de grands ensembles de données.

Dans notre article de blog précédent, nous avons expliqué comment convertir des fichiers Excel en tableaux NumPy. Ce flux de travail est utile lorsque vous devez importer des données externes dans Python pour analyse. Mais que faire si vous souhaitez l’inverse ? De nombreuses fois, vous devez exporter vos résultats Python de NumPy vers Excel pour la création de rapports et le partage. Excel est largement utilisé dans les entreprises, les écoles et les organisations, ce qui en fait le format idéal pour la collaboration.

Dans ce guide, nous allons vous montrer étape par étape comment convertir NumPy en Excel en utilisant Python et Aspose.Cells for Python via .NET.

Pourquoi convertir NumPy en Excel ?

NumPy est parfait pour les calculs et l’analyse dans Python. Mais nous devons souvent partager les résultats avec d’autres. La plupart des utilisateurs professionnels préfèrent Excel car il est familier et facile à utiliser.

Voici quelques raisons courantes pour lesquelles vous pourriez avoir besoin d’exporter NumPy vers Excel :

  • Reporting des données : Convertir les données traitées en fichiers Excel pour les responsables ou les clients.
  • Collaboration : Partagez les résultats avec des coéquipiers qui n’utilisent pas Python.
  • Analyse commerciale : Combinez les résultats de NumPy avec les rapports et tableaux de bord Excel existants.
  • Visualisation : Utilisez des graphiques Excel et des tableaux croisés dynamiques pour rendre les données plus significatives.

Excel est un format universel. Il comble le fossé entre les développeurs Python et les utilisateurs non techniques. En exportant des tableaux NumPy vers Excel, vous rendez vos données accessibles, exploitables et faciles à comprendre.

Python NumPy Excel Library

Aspose.Cells for Python est une bibliothèque de tableur puissante. Elle vous permet de créer, d’éditer et de traiter des fichiers Excel sans installer Microsoft Excel. C’est la meilleure bibliothèque Excel pour Python, conçue pour les développeurs qui ont besoin d’un contrôle total sur les documents Excel. Vous pouvez :

  • Charger et enregistrer des fichiers Excel dans différents formats.
  • Travaillez avec des feuilles de calcul, des tableaux, des plages et des graphiques.
  • Importer et exporter des données à partir d’objets Python, y compris des tableaux NumPy.
  • Gérez de grands ensembles de données avec rapidité et précision.

La meilleure partie est qu’Aspose.Cells fonctionne de manière autonome. Vous n’avez pas besoin d’Excel ou d’un logiciel externe. Il fonctionne sans problème dans vos applications Python et s’intègre bien dans les flux de travail scientifiques. Cela en fait une solution fiable pour convertir des données NumPy en fichiers Excel.

Convertir NumPy en Excel en Python

La conversion d’un tableau NumPy en Excel avec Aspose.Cells est simple. Suivez ces étapes rapides :

Étape 1 : Installer Aspose.Cells for Python via .NET

Installez le package en utilisant pip :

pip install aspose-cells-python

Étape 2 : Importer les bibliothèques requises

Dans votre script Python, importez NumPy et Aspose.Cells :

import numpy as np
import aspose.cells as cells

Étape 3 : Créer un tableau NumPy d’exemple

Pour les tests, créez un tableau 2D simple :

data = np.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]])

Étape 4 : Définir une fonction personnalisée – insertnumpyarray

Les valeurs NumPy viennent souvent sous des types comme numpy.int64, numpy.float32 ou numpy.bool. Celles-ci doivent être converties en types natifs Python avant d’être écrites dans les cellules Excel.

La fonction d’assistance ci-dessous effectue cette conversion et insère le tableau directement dans une feuille de calcul en commençant à partir d’une ligne et d’une colonne données :

# Fonction personnalisée pour insérer un tableau NumPy dans une feuille de calcul
def insert_numpy_array(sheet, ndarray, start_row=0, start_col=0):
    rows, cols = ndarray.shape
   for r in range(rows):
       for c in range(cols):
            value = ndarray[r, c]
            # Convertir les types NumPy en types Python natifs
            if isinstance(value, (np.integer,)):
                value = int(value)
            elif isinstance(value, (np.floating,)):
                value = float(value)
            elif isinstance(value, (np.bool_,)):
                value = bool(value)
            elif isinstance(value, (np.str_, np.str_)):
                value = str(value)
            sheet.cells.get(start_row + r, start_col + c).put_value(value)
            

Dans les sections suivantes, nous allons démontrer comment insérer des données NumPy dans un Workbook, une Worksheet, un ListObject, un Range et un Named Range. Les exemples de code dans les sections à venir utilisent la fonction d’aide définie dans la section Étape 4 : Fonction personnalisée.

Comment convertir un tableau NumPy ndarray en un classeur Excel

Vous pouvez créer un fichier Excel complet à partir d’un tableau NumPy en quelques lignes seulement. Cette méthode est parfaite lorsque vous souhaitez exporter les résultats d’analyses de données, les sorties d’apprentissage automatique ou des ensembles de données tabulaires dans un fichier Excel professionnel qui peut être partagé ou traité davantage.

Suivez les étapes ci-dessous pour convertir un tableau ndarray NumPy en un classeur Excel :

  1. Créer un tableau 2D NumPy avec vos données.
  2. Initialisez un nouveau classeur vide en utilisant la classe Workbook.
  3. Ajoutez une nouvelle feuille de calcul au classeur en utilisant la méthode worksheets.add().
  4. Accédez à la nouvelle feuille de calcul par son index.
  5. Parcourez le tableau NumPy et insérez des valeurs dans les cellules de la feuille de calcul.
  6. Enregistrez le classeur en tant que fichier Excel.

L’exemple de code suivant montre comment convertir un tableau NumPy ndarray en un classeur Excel.

# Créer un tableau NumPy
data = np.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]])

# Convertir un tableau NumPy en classeur Excel
workbook = cells.Workbook()

# Ajoutez une nouvelle feuille de calcul
new_sheet_index = workbook.worksheets.add()
worksheet = workbook.worksheets.get(new_sheet_index)

# Insérez le tableau dans la nouvelle feuille de calcul à partir de la cellule A1.
insert_numpy_array(worksheet, data)

# Enregistrez le classeur au format Excel.
workbook.save("numpy_to_workbook.xlsx")
Comment convertir NumPy en classeur Excel

Comment convertir NumPy en classeur Excel

Insérer un tableau NumPy dans une feuille de calcul

Parfois, vous avez déjà un classeur, et vous voulez seulement insérer des données NumPy dans une seule feuille de calcul.

Suivez les étapes ci-dessous pour convertir un tableau NumPy en feuille de calcul :

  1. Créer un tableau 2D NumPy avec vos données.
  2. Chargez un fichier Excel existant en utilisant la classe Workbook.
  3. Sélectionnez la feuille de calcul où vous souhaitez placer les données.
  4. Parcourez le tableau NumPy et insérez des valeurs dans les cellules de la feuille de calcul.
  5. Enregistrez le classeur en tant que fichier Excel.

L’exemple de code suivant montre comment insérer un tableau NumPy ndarray dans une feuille de calcul spécifique d’un classeur Excel :

# Créer un tableau NumPy
data = np.array([['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036],
                 ['Detroit', 'Central', 3074]])

# Convertir un tableau NumPy en fichier Excel
workbook = cells.Workbook("numpy_to_workbook.xlsx")

# Accédez à la première feuille de calcul
sheet = workbook.worksheets.get(0)

# Insérer un tableau NumPy dans la feuille de calcul à partir de A1
insert_numpy_array(sheet, data, 0, 0)

# Enregistrez le classeur en tant que fichier Excel.
workbook.save("numpy_to_worksheet.xlsx")
Comment convertir un tableau NumPy ndarray en feuille de calcul

Comment convertir un tableau NumPy ndarray en feuille de calcul

Comment convertir un tableau NumPy ndarray en ListObject (tableau Excel)

Les tableaux Excel (également appelés ListObjects) sont un moyen puissant d’organiser et d’analyser des données. Avec Aspose.Cells, vous pouvez importer directement un tableau NumPy dans un ListObject.

Veuillez suivre les étapes ci-dessous pour convertir un tableau NumPy ndarray en objet Liste (tableau Excel) :

  1. Créer un tableau 2D NumPy avec des données d’exemple.
  2. Initialisez un nouveau classeur et accédez à la première feuille de calcul.
  3. Insérez les données NumPy dans les cellules de la feuille de calcul à l’aide d’une fonction auxiliaire.
  4. Définir les lignes et les colonnes de départ et de fin en fonction des dimensions du tableau.
  5. Ajoutez un ListObject à la feuille de calcul en utilisant worksheet.listobjects.add().
  6. Attribuez un nom d’affichage à l’ ListObject.
  7. Enregistrez le classeur en tant que fichier Excel.

L’exemple de code suivant montre comment convertir un tableau NumPy ndarray en table Excel :

# Créer un tableau NumPy
data = np.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]])

# Créer un nouveau classeur Excel
workbook = cells.Workbook()
worksheet = workbook.worksheets.get(0)

# Insérez le tableau NumPy dans la feuille de calcul à partir de la cellule A1.
insert_numpy_array(worksheet, data)

# Définir la plage pour l'objet ListObject
start_row, start_col = 0, 0
end_row, end_col = data.shape[0] - 1, data.shape[1] - 1

# Ajouter ListObject (tableau Excel) à partir des données NumPy
index = worksheet.list_objects.add(start_row, start_col, end_row, end_col, True)
list_object = worksheet.list_objects[index]

# Définir un nom d'affichage pour le tableau
list_object.display_name = "NumPyTable"

# Enregistrer le classeur
workbook.save("numpy_to_listobject.xlsx")
Comment convertir un tableau NumPy ndarray en objet liste (tableau Excel)

Comment convertir un tableau NumPy ndarray en objet Liste (tableau Excel)

Convertir un tableau NumPy (ndarray) en plage

Parfois, vous voudrez peut-être placer un tableau NumPy dans une plage spécifique de cellules. Cette méthode est idéale lorsque vous avez besoin d’un placement précis des données dans les feuilles de calcul, comme le remplissage d’une zone de tableau prédéfinie ou l’exportation des résultats d’analyse dans un bloc de cellules sélectionnées.

Suivez les étapes ci-dessous pour convertir un ndarray NumPy en une plage :

  1. Créer un tableau ndarray 2D de NumPy.
  2. Créez un nouveau classeur ou ouvrez-en un existant.
  3. Sélectionnez la feuille de calcul cible.
  4. Parcourez les valeurs ndarray et insérez-les dans les cellules Excel correspondantes.
  5. Créer un objet Range avec cells.createrange(startcell, endcell).
  6. Exportez la feuille de calcul avec la plage remplie vers un fichier Excel.

L’exemple de code suivant montre comment insérer un tableau NumPy ndarray dans une plage Excel :

import numpy as np
from datetime import datetime
from aspose.cells import Workbook, CellsHelper

# Aide pour insérer en toute sécurité des valeurs NumPy dans des cellules
def put_cell_value(cells, raw_value, row, col):
    cell = cells.get(row, col)
    if isinstance(raw_value, (np.bool_,)):
        value = bool(raw_value)
    elif isinstance(raw_value, (np.integer,)):
        value = int(raw_value)
    elif isinstance(raw_value, (np.floating,)):
        value = float(raw_value)
    elif isinstance(raw_value, (np.datetime64,)):
        # Convertir numpy datetime64 → datetime Python → chaîne compatible Excel
        value = str(np.datetime_as_string(raw_value, unit='D'))
    else:
        value = raw_value
    cell.put_value(value)

# Fonction pour insérer un tableau NumPy dans des cellules et renvoyer la plage
def numpy_to_range(cells, data, start_row=0, start_col=0):
    rows, cols = data.shape
   for i in range(rows):
       for j in range(cols):
            put_cell_value(cells, data[i, j], start_row + i, start_col + j)

    # Définir la plage en fonction de la cellule de début/de fin
    start_cell = CellsHelper.cell_index_to_name(start_row, start_col)
    end_cell = CellsHelper.cell_index_to_name(start_row + rows - 1, start_col + cols - 1)
    return cells.create_range(start_cell, end_cell)

# Créer un tableau NumPy d'exemple
data = np.array([
    ['City', 'Region', 'Store', 'Date'],
    ['Chicago', 'Central', 3055, np.datetime64('2025-01-15')],
    ['New York', 'East', 3036, np.datetime64('2025-02-10')],
    ['Detroit', 'Central', 3074, np.datetime64('2025-03-05')]
])

# Créez un nouveau classeur et obtenez la première feuille de calcul.
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells

# Insérer ndarray dans la feuille de calcul en tant que plage
range_obj = numpy_to_range(cells, data, 0, 0)

print("Row count:", range_obj.row_count)
print("Column count:", range_obj.column_count)

# Enregistrez le classeur
workbook.save("numpy_to_range.xlsx")
Comment convertir un tableau NumPy ndarray en plage

Comment convertir un tableau NumPy ndarray en plage

Comment convertir un ndarray NumPy en nom (plage nommée)

Parfois, vous pouvez vouloir attribuer un nom significatif à une plage de données spécifique dans Excel. Cela facilite la référence aux données dans les formules, les graphiques ou d’autres feuilles de calcul. Dans cette section, nous vous montrerons comment convertir NumPy en plage nommée Excel en utilisant Python et Aspose.Cells. En créant une plage nommée, vous pouvez travailler avec vos données NumPy de manière plus efficace dans Excel.

Suivez les étapes ci-dessous pour convertir un ndarray NumPy en une plage nommée dans Excel à l’aide d’Aspose.Cells.

  1. Créer un tableau NumPy en Python.
  2. Créer un nouveau classeur et accéder à la feuille de calcul cible.
  3. Parcourez le tableau et insérez chaque valeur dans la feuille de calcul.
  4. Définir une plage couvrant les données importées.
  5. Attribuez un nom à cette plage.
  6. Enregistrez le classeur en tant que fichier Excel.

L’exemple de code suivant montre comment insérer un tableau NumPy (ndarray) dans une plage nommée dans Excel :

import numpy as np
import aspose.cells
from aspose.cells import Workbook, CellsHelper

# Fonction d'aide pour insérer des données NumPy dans des cellules de feuille de calcul
def put_cell_value(cells, raw_value, row, column):
    if isinstance(raw_value, (np.bool_)):
        value = bool(raw_value)
    elif isinstance(raw_value, (np.integer)):
        value = int(raw_value)
    elif isinstance(raw_value, (np.floating)):
        value = float(raw_value)
    elif isinstance(raw_value, (np.datetime64)):
        value = str(np.datetime_as_string(raw_value, unit='D'))
    else:
        value = str(raw_value)
    cells.get(row, column).put_value(value)

def insert_ndarray_into_cells(cells, data, start_row, start_col):
    row_count = data.shape[0]
    col_count = data.shape[1]

   for r in range(row_count):
       for c in range(col_count):
            put_cell_value(cells, data[r][c], start_row + r, start_col + c)

    # Retournez la zone de cellule couverte
    end_row = start_row + row_count - 1
    end_col = start_col + col_count - 1
    return (start_row, start_col, end_row, end_col)

# ---------------------------
# Main Code
# ---------------------------

# Créer un tableau NumPy d'exemple
data = np.array([
    ['Product', 'Region', 'Sales'],
    ['Laptop', 'East', 1200],
    ['Phone', 'West', 950],
    ['Tablet', 'North', 740]
])

# Créer un nouveau classeur
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells

# Insérer ndarray dans des cellules en commençant par (0,0)
(start_row, start_col, end_row, end_col) = insert_ndarray_into_cells(cells, data, 0, 0)

# Obtenir des références de cellule Excel
start_cell = CellsHelper.cell_index_to_name(start_row, start_col)
end_cell = CellsHelper.cell_index_to_name(end_row, end_col)

# Créez une plage nommée pour cet ndarray
idx = workbook.worksheets.names.add("SalesData")  # returns index
named_range = workbook.worksheets.names[idx]  # get the Name object
named_range.refers_to = f"={worksheet.name}!{start_cell}:{end_cell}"

# Enregistrez le classeur
workbook.save("numpy_to_named_range.xlsx")
Comment convertir un tableau NumPy ndarray en Nom (Plage nommée)

Comment convertir un tableau NumPy ndarray en Nom (Plage nommée)

Commencez avec Aspose.Cells for Python

Vous avez maintenant vu à quel point il est facile de convertir des tableaux NumPy en Excel en utilisant Aspose.Cells. La bibliothèque vous donne un contrôle total sur les classeurs, les feuilles de calcul, les tableaux, les plages et les plages nommées.

Voici quelques liens utiles pour améliorer votre compréhension :

Obtenez une licence temporaire gratuite et commencez à utiliser Aspose.Cells aujourd’hui pour rendre vos données Python entièrement compatibles avec les flux de travail Excel.

NumPy to Excel: FAQs

Q1 : Ai-je besoin de Microsoft Excel installé pour utiliser Aspose.Cells ?

Non. Aspose.Cells fonctionne de manière indépendante. Vous n’avez pas besoin d’Excel ou de tout autre logiciel installé.

Q2: Aspose.Cells peut-il gérer de grands tableaux NumPy ?

Oui. La bibliothèque est optimisée pour les grands ensembles de données et fonctionne bien même avec de grands tableaux.

Q3: Quels formats Excel sont pris en charge ?

Vous pouvez enregistrer vos données NumPy au format XLSX, XLS, CSV, ODS et de nombreux autres formats de feuille de calcul.

Q4: Puis-je formater les cellules Excel après avoir exporté des données NumPy ?

Oui. Vous pouvez appliquer des styles, des formats de nombre, des formules et même créer des graphiques ou des tableaux croisés dynamiques.

Q5 : Existe-t-il une version gratuite d’Aspose.Cells ?

Oui. Vous pouvez télécharger un essai gratuit ou demander une licence temporaire pour des tests.

Conclusion

NumPy est un outil essentiel pour la science des données et l’analyse numérique en Python, mais les rapports du monde réel nécessitent souvent Excel. Avec Aspose.Cells for Python via .NET, convertir NumPy en Excel devient fluide et flexible. Dans ce guide, nous avons exploré différentes méthodes : exporter des tableaux NumPy vers un classeur complet, insérer des données dans une feuille de calcul, formater comme un ListObject (tableau Excel), mapper des tableaux dans une plage, et les assigner à une plage nommée. Chaque approche a un objectif unique. En combinant la puissance de NumPy avec la flexibilité d’Aspose.Cells, vous pouvez passer efficacement de l’analyse basée sur Python à des rapports Excel professionnels, garantissant que vos données sont à la fois accessibles et prêtes pour la présentation.

Si vous avez des questions, n’hésitez pas à les poser sur notre forum de support gratuit, et nous serons heureux de vous aider.

Voir aussi