NumPy è una delle librerie più popolari in Python. Alimenta la scienza dei dati, l’apprendimento automatico e l’analisi numerica. Molti sviluppatori utilizzano gli array di NumPy (ndarray) per gestire rapidamente grandi dataset.

Nel nostro previous blog post, abbiamo spiegato come convertire i file Excel in array NumPy. Quel flusso di lavoro è utile quando hai bisogno di portare dati esterni in Python per l’analisi. Ma cosa succede se vuoi il contrario? Molte volte, devi esportare i tuoi risultati Python da NumPy a Excel per reportistica e condivisione. Excel è ampiamente utilizzato nelle aziende, nelle scuole e nelle organizzazioni, rendendolo il formato ideale per la collaborazione.

In questa guida, ti mostreremo passo dopo passo come convertire NumPy in Excel utilizzando Python e Aspose.Cells for Python tramite .NET.

Perché convertire NumPy in Excel?

NumPy è perfetto per calcoli e analisi all’interno di Python. Ma spesso dobbiamo condividere i risultati con altri. La maggior parte degli utenti aziendali preferisce Excel perché è familiare e facile da usare.

Ecco alcune ragioni comuni per cui potresti aver bisogno di esportare NumPy in Excel:

  • Reporting dei dati: Convertire i dati elaborati in file Excel per manager o clienti.
  • Collaborazione: Condividi i risultati con i membri del team che non utilizzano Python.
  • Analisi aziendale: Combina i risultati di NumPy con i report e i dashboard Excel esistenti.
  • Visualizzazione: Usa grafici Excel e tabelle pivot per rendere i dati più significativi.

Excel è un formato universale. Colma il divario tra sviluppatori Python e utenti non tecnici. Esportando array NumPy in Excel, rendi i tuoi dati accessibili, utilizzabili e facili da comprendere.

Python NumPy Excel Library

Aspose.Cells for Python è una potente libreria per fogli di calcolo. Ti consente di creare, modificare e elaborare file Excel senza installare Microsoft Excel. È la migliore libreria Excel per Python, progettata per sviluppatori che necessitano di un pieno controllo sui documenti Excel. Puoi:

  • Carica e salva file Excel in formati diversi.
  • Lavora con fogli di lavoro, tabelle, intervalli e grafici.
  • Importa ed esporta dati da oggetti Python, inclusi gli array NumPy.
  • Gestisci grandi set di dati con velocità e accuratezza elevate.

La parte migliore è che Aspose.Cells funziona in modo indipendente. Non hai bisogno di Excel o di alcun software esterno. Funziona senza problemi nelle tue applicazioni Python e si integra bene con i flussi di lavoro scientifici. Questo lo rende una soluzione affidabile per convertire i dati NumPy in file Excel.

Convertire NumPy in Excel in Python

Convertire un array NumPy in Excel con Aspose.Cells è semplice. Segui questi passaggi rapidi:

Passo 1: Installa Aspose.Cells for Python tramite .NET

Installa il pacchetto usando pip:

pip install aspose-cells-python

Passo 2: Importa le librerie richieste

Nel tuo script Python, importa NumPy e Aspose.Cells:

import numpy as np
import aspose.cells as cells

Passo 3: Crea un Array NumPy di Esempio

Per testare, crea un semplice array 2D:

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

Passo 4: Definire una Funzione Personalizzata – insertnumpyarray

I valori NumPy spesso si presentano come tipi come numpy.int64, numpy.float32 o numpy.bool. Questi devono essere convertiti in tipi nativi di Python prima di essere scritti nelle celle di Excel.

La funzione di supporto qui sotto esegue questa conversione e inserisce direttamente l’array in un foglio di lavoro a partire da una riga e una colonna date:

# Funzione personalizzata per inserire un array NumPy nel foglio di lavoro
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]
            # Converti i tipi NumPy in tipi nativi Python
            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)
            

Nelle sezioni successive, dimostreremo come inserire i dati NumPy in un Workbook, un Worksheet, un ListObject, un Range e un Named Range. Gli esempi di codice nelle sezioni successive utilizzano la funzione di supporto definita nella sezione Passo 4: Funzione personalizzata.

Come convertire un ndarray NumPy in un file Excel

Puoi creare un’intera cartella di lavoro Excel a partire da un array NumPy in sole poche righe. Questo metodo è perfetto quando desideri esportare i risultati dell’analisi dei dati, gli output del machine learning o i dataset tabulari in un file Excel professionale che può essere condiviso o ulteriormente elaborato.

Segui i passaggi qui sotto per convertire un ndarray di NumPy in un workbook di Excel:

  1. Crea un array 2D NumPy con i tuoi dati.
  2. Inizializza un nuovo file di lavoro vuoto utilizzando la classe Workbook.
  3. Aggiungi un nuovo foglio di lavoro alla cartella di lavoro utilizzando il worksheets.add() metodo.
  4. Accedi al nuovo foglio di lavoro tramite il suo indice.
  5. Scorri attraverso l’array NumPy e inserisci valori nelle celle del foglio di lavoro.
  6. Salva il workbook come file Excel.

Il seguente esempio di codice mostra come convertire un ndarray NumPy in un workbook Excel.

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

# Converti l'array NumPy in un workbook Excel
workbook = cells.Workbook()

# Aggiungi un nuovo foglio di lavoro
new_sheet_index = workbook.worksheets.add()
worksheet = workbook.worksheets.get(new_sheet_index)

# Inserisci l'array nel nuovo foglio di lavoro a partire dalla cella A1
insert_numpy_array(worksheet, data)

# Salva il workbook come file Excel
workbook.save("numpy_to_workbook.xlsx")
Come convertire NumPy in un workbook di Excel

Come convertire NumPy in un file di Excel

Inserire ndarray NumPy in un Foglio di lavoro

A volte hai già un libro di lavoro e vuoi solo inserire dati NumPy in un foglio di lavoro.

Segui i passaggi qui sotto per convertire un ndarray NumPy in un Foglio di lavoro:

  1. Crea un array 2D NumPy con i tuoi dati.
  2. Carica un file Excel esistente utilizzando la classe Workbook.
  3. Seleziona il foglio di lavoro in cui desideri inserire i dati.
  4. Scorri l’array NumPy e inserisci valori nelle celle del foglio di lavoro.
  5. Salva il workbook come un file Excel.

Il seguente esempio di codice mostra come inserire un array NumPy ndarray in un foglio di lavoro specifico di un file Excel:

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

# Convertire l'array NumPy in un file Excel
workbook = cells.Workbook("numpy_to_workbook.xlsx")

# Accedi al primo foglio di lavoro
sheet = workbook.worksheets.get(0)

# Inserisci l'array NumPy nel foglio di lavoro a partire da A1
insert_numpy_array(sheet, data, 0, 0)

# Salva il workbook come file Excel
workbook.save("numpy_to_worksheet.xlsx")
Come convertire NumPy ndarray in Worksheet

Come convertire un ndarray NumPy in un foglio di lavoro

Come convertire un ndarray NumPy in un oggetto elenco (tabella Excel)

Le tabelle di Excel (chiamate anche ListObjects) sono un modo potente per organizzare e analizzare i dati. Con Aspose.Cells, puoi importare direttamente un array NumPy in un ListObject.

Si prega di seguire i passaggi di seguito per convertire NumPy ndarray in ListObject (Tabella Excel):

  1. Crea un array 2D NumPy con dati di esempio.
  2. Inizializza un nuovo workbook e accedi al primo foglio di lavoro.
  3. Inserire i dati NumPy nelle celle del foglio di lavoro utilizzando una funzione di supporto.
  4. Definisci le righe e le colonne di partenza e di fine in base alle dimensioni dell’array.
  5. Aggiungi un ListObject al foglio di lavoro utilizzando worksheet.listobjects.add().
  6. Assegna un nome visualizzato al ListObject.
  7. Salva il workbook come file Excel.

Il seguente esempio di codice mostra come convertire un ndarray NumPy in una tabella Excel:

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

# Crea un nuovo workbook di Excel
workbook = cells.Workbook()
worksheet = workbook.worksheets.get(0)

# Inserisci l'array NumPy nel foglio di lavoro a partire dalla cella A1
insert_numpy_array(worksheet, data)

# Definire l'intervallo per l'oggetto Lista
start_row, start_col = 0, 0
end_row, end_col = data.shape[0] - 1, data.shape[1] - 1

# Aggiungi ListObject (Tabella Excel) dai dati NumPy
index = worksheet.list_objects.add(start_row, start_col, end_row, end_col, True)
list_object = worksheet.list_objects[index]

# Imposta un nome visualizzato per la tabella
list_object.display_name = "NumPyTable"

# Salva il workbook
workbook.save("numpy_to_listobject.xlsx")
Come convertire un ndarray di NumPy in ListObject (Tabella Excel)

Come convertire NumPy ndarray in ListObject (Tabella Excel)

Convertire NumPy ndarray in Range

A volte potresti voler inserire un array NumPy in un intervallo specifico di celle. Questo metodo è ideale quando hai bisogno di una collocazione precisa dei dati all’interno dei fogli di lavoro, come riempire un’area tabellare predefinita o esportare i risultati dell’analisi in un blocco di celle selezionato.

Segui i passaggi seguenti per convertire NumPy ndarray in Range:

  1. Crea un ndarray 2D di NumPy.
  2. Crea un nuovo foglio di lavoro o aprine uno esistente.
  3. Seleziona il foglio di lavoro di destinazione.
  4. Scorri attraverso i valori dell’ndarray e inseriscili nelle celle di Excel corrispondenti.
  5. Crea un oggetto Range con cells.createrange(startcell, endcell).
  6. Esporta il foglio di lavoro con l’intervallo compilato in un file Excel.

Il seguente esempio di codice mostra come inserire un ndarray NumPy in un intervallo di Excel:

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

# Helper per inserire in modo sicuro i valori NumPy nelle celle
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,)):
        # Converti numpy datetime64 → datetime Python → string compatibile con Excel
        value = str(np.datetime_as_string(raw_value, unit='D'))
    else:
        value = raw_value
    cell.put_value(value)

# Funzione per inserire un array NumPy nelle celle e restituire l'intervallo
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)

    # Definire l'intervallo basato sulla cella di inizio/fine
    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)

# Crea un array NumPy di esempio
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')]
])

# Crea un nuovo Workbook e ottieni il primo foglio di lavoro
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells

# Inserire ndarray nel foglio di lavoro come intervallo
range_obj = numpy_to_range(cells, data, 0, 0)

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

# Salva il workbook
workbook.save("numpy_to_range.xlsx")
Come convertire un ndarray di NumPy in un intervallo

Come convertire ndarray NumPy in Range

Come convertire un ndarray di NumPy in un Nome (Intervallo Nominato)

A volte potresti voler assegnare un nome significativo a un intervallo di dati specifico in Excel. Questo facilita il riferimento ai dati nelle formule, nei grafici o in altri fogli di lavoro. In questa sezione, ti mostreremo come convertire NumPy in un intervallo denominato di Excel utilizzando Python e Aspose.Cells. Creando un intervallo denominato, puoi lavorare con i tuoi dati NumPy in modo più efficiente all’interno di Excel.

Segui i passaggi sottostanti per convertire un ndarray NumPy in un intervallo nominato in Excel utilizzando Aspose.Cells

  1. Crea un array NumPy in Python.
  2. Crea un nuovo foglio di lavoro e accedi al foglio di lavoro di destinazione.
  3. Scorri attraverso l’array e inserisci ogni valore nel foglio di lavoro.
  4. Definisci un intervallo che copra i dati importati.
  5. Assegna un nome a quell’intervallo.
  6. Salva il workbook come file Excel.

Il seguente esempio di codice mostra come inserire un array NumPy ndarray in un intervallo denominato in Excel:

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

# Funzione helper per inserire dati NumPy nelle celle del foglio di lavoro
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)

    # Restituisci l'area della cella coperta
    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
# ---------------------------

# Create a sample NumPy array
data = np.array([
    ['Product', 'Region', 'Sales'],
    ['Laptop', 'East', 1200],
    ['Phone', 'West', 950],
    ['Tablet', 'North', 740]
])

# Crea un nuovo Workbook
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells

# Inserisci ndarray nelle celle a partire da (0,0)
(start_row, start_col, end_row, end_col) = insert_ndarray_into_cells(cells, data, 0, 0)

# Ottieni riferimenti di celle Excel
start_cell = CellsHelper.cell_index_to_name(start_row, start_col)
end_cell = CellsHelper.cell_index_to_name(end_row, end_col)

# Crea un intervallo nominato per questo 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}"

# Salva la cartella di lavoro
workbook.save("numpy_to_named_range.xlsx")
Come convertire un ndarray NumPy in un Nome (Intervallo nominato)

Come convertire un ndarray NumPy in un nome (Intervallo nominato)

Inizia con Aspose.Cells for Python

Hai ora visto quanto sia facile convertire gli array NumPy in Excel utilizzando Aspose.Cells. La libreria ti offre il pieno controllo su cartelle di lavoro, fogli di lavoro, tabelle, intervalli e intervalli denominati.

Ecco alcuni link utili per migliorare la tua comprensione:

Ottieni una free temporary license e inizia a utilizzare Aspose.Cells oggi per rendere i tuoi dati Python completamente compatibili con i flussi di lavoro di Excel.

NumPy to Excel: Domande Frequenti

Q1: Ho bisogno di Microsoft Excel installato per usare Aspose.Cells?

No. Aspose.Cells funziona in modo indipendente. Non è necessario avere Excel o nessun altro software installato.

Q2: Can Aspose.Cells handle large NumPy arrays?

Sì. La libreria è ottimizzata per grandi set di dati e funziona bene anche con grandi array.

Q3: Quali formati Excel sono supportati?

Puoi salvare i tuoi dati NumPy in XLSX, XLS, CSV, ODS e molti altri formati di foglio di calcolo.

Q4: Posso formattare le celle di Excel dopo aver esportato i dati di NumPy?

Sì. Puoi applicare stili, formati numerici, formule e persino creare grafici o tabelle pivot.

Q5: Esiste una versione gratuita di Aspose.Cells?

Sì. Puoi scaricare una free trial o richiedere una temporary license per il test.

Conclusione

NumPy è uno strumento fondamentale per la scienza dei dati e l’analisi numerica in Python, ma la reportistica nel mondo reale spesso richiede Excel. Con Aspose.Cells for Python tramite .NET, convertire NumPy in Excel diventa senza soluzione di continuità e flessibile. In questa guida, abbiamo esplorato diversi metodi: esportare gli array NumPy in un workbook completo, inserire dati in un foglio di lavoro, formattare come un ListObject (tabella di Excel), mappare gli array in un intervallo e assegnarli a un intervallo nominato. Ogni approccio ha uno scopo unico. Combinando la potenza di NumPy con la flessibilità di Aspose.Cells, puoi spostarti in modo efficiente dall’analisi basata su Python a rapporti professionali in Excel, assicurando che i tuoi dati siano sia accessibili che pronti per la presentazione.

Se hai domande, non esitare a chiedere nel nostro free support forum, e saremo felici di aiutarti.

Vedi anche