NumPy es una de las bibliotecas más populares en Python. Potencia la ciencia de datos, el aprendizaje automático y el análisis numérico. Muchos desarrolladores utilizan arrays de NumPy (ndarray) para manejar grandes conjuntos de datos rápidamente.
En nuestra publicación de blog anterior, explicamos cómo convertir archivos de Excel en arrays de NumPy. Ese flujo de trabajo es útil cuando necesitas llevar datos externos a Python para análisis. Pero, ¿qué pasa si deseas lo contrario? Muchas veces, necesitas exportar tus resultados de Python de NumPy a Excel para informes y compartir. Excel es ampliamente utilizado en empresas, escuelas y organizaciones, lo que lo convierte en el formato ideal para la colaboración.
En esta guía, le mostraremos paso a paso cómo convertir NumPy a Excel utilizando Python y Aspose.Cells for Python a través de .NET.
¿Por qué convertir NumPy a Excel?
NumPy es perfecto para cálculos y análisis dentro de Python. Pero a menudo necesitamos compartir los resultados con otros. La mayoría de los usuarios de negocios prefieren Excel porque es familiar y fácil de usar.
Aquí hay algunas razones comunes por las que puede necesitar exportar NumPy a Excel:
- Informe de datos: Convertir los datos procesados en archivos de Excel para gerentes o clientes.
- Colaboración: Comparte los resultados con compañeros de equipo que no usan Python.
- Análisis empresarial: Combinar resultados de NumPy con informes y paneles de Excel existentes.
- Visualización: Utiliza gráficos de Excel y tablas dinámicas para dar más significado a los datos.
Excel es un formato universal. Conecta a los desarrolladores de Python y a los usuarios no técnicos. Al exportar arreglos de NumPy a Excel, haces que tus datos sean accesibles, utilizables y fáciles de entender.
Python NumPy Excel Library
Aspose.Cells for Python es una poderosa biblioteca de hojas de cálculo. Te permite crear, editar y procesar archivos de Excel sin instalar Microsoft Excel. Es la mejor biblioteca de Excel para Python, diseñada para desarrolladores que necesitan control total sobre los documentos de Excel. Puedes:
- Cargar y guardar archivos de Excel en diferentes formatos.
- Trabaja con hojas de cálculo, tablas, rangos y gráficos.
- Importar y exportar datos de objetos de Python, incluidos los arreglos de NumPy.
- Maneje grandes conjuntos de datos con alta velocidad y precisión.
La mejor parte es que Aspose.Cells funciona de manera independiente. No necesitas Excel ni ningún software externo. Se ejecuta sin problemas en tus aplicaciones de Python e integra bien con flujos de trabajo científicos. Esto lo convierte en una solución confiable para convertir datos de NumPy en archivos de Excel.
Convertir NumPy a Excel en Python
Convertir un arreglo de NumPy a Excel con Aspose.Cells es simple. Sigue estos pasos rápidos:
Paso 1: Instalar Aspose.Cells for Python a través de .NET
Instala el paquete usando pip:
pip install aspose-cells-python
Paso 2: Importar bibliotecas requeridas
En tu script de Python, importa NumPy y Aspose.Cells:
import numpy as np
import aspose.cells as cells
Paso 3: Crea un Array de NumPy de Muestra
Para probar, crea un array 2D simple:
data = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
Paso 4: Definir una función personalizada – insertnumpyarray
Los valores de NumPy a menudo vienen en tipos como numpy.int64, numpy.float32 o numpy.bool. Estos necesitan ser convertidos en tipos nativos de Python antes de ser escritos en las celdas de Excel.
La función auxiliar a continuación realiza esta conversión e inserta el arreglo directamente en una hoja de cálculo comenzando desde una fila y columna dadas:
# Función personalizada para insertar un array de NumPy en una hoja de cálculo
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 los tipos de NumPy a tipos nativos de 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)
En las siguientes secciones, vamos a demostrar cómo insertar datos de NumPy en un Libro de trabajo, Hoja de trabajo, Objeto de lista, Rango y Rango nombrado. Los ejemplos de código en las próximas secciones utilizan la función auxiliar definida en la sección Paso 4: Función personalizada.
Cómo convertir un ndarray de NumPy a un libro de Excel
Puedes crear un libro de Excel completo a partir de un array de NumPy en solo unas pocas líneas. Este método es perfecto cuando deseas exportar resultados de análisis de datos, salidas de aprendizaje automático o conjuntos de datos tabulares en un archivo de Excel profesional que se puede compartir o procesar más.
Siga los pasos a continuación para convertir un ndarray de NumPy a un libro de Excel:
- Crea un array 2D de NumPy con tus datos.
- Inicializa un nuevo libro de trabajo vacío utilizando la clase
Workbook. - Agrega una nueva hoja de cálculo al libro utilizando el
worksheets.add()método. - Acceda a la nueva hoja de cálculo por su índice.
- Recorra el array de NumPy e inserte valores en las celdas de la hoja de trabajo.
- Guarda el libro como un archivo de Excel.
El siguiente ejemplo de código muestra cómo convertir un ndarray de NumPy en un libro de Excel.
# Crea un array de NumPy
data = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# Convertir el array de NumPy a un libro de Excel
workbook = cells.Workbook()
# Añadir una nueva hoja de cálculo
new_sheet_index = workbook.worksheets.add()
worksheet = workbook.worksheets.get(new_sheet_index)
# Inserte la matriz en la nueva hoja de trabajo comenzando desde la celda A1
insert_numpy_array(worksheet, data)
# Guarde el libro de trabajo como archivo de Excel
workbook.save("numpy_to_workbook.xlsx")

Cómo convertir NumPy a un libro de Excel
Insertar ndarray de NumPy en la hoja de trabajo
A veces ya tienes un libro de trabajo, y solo deseas insertar datos de NumPy en una hoja de cálculo.
Sigue los pasos a continuación para convertir NumPy ndarray a Worksheet:
- Crea un array 2D de NumPy con tus datos.
- Cargar un archivo de Excel existente utilizando la clase
Workbook. - Seleccione la hoja de cálculo donde desea colocar los datos.
- Recorre el array de NumPy e inserta valores en las celdas de la hoja de trabajo.
- Guarde el libro como un archivo de Excel.
El siguiente ejemplo de código muestra cómo insertar un ndarray de NumPy en una hoja de cálculo específica de un libro de Excel:
# Crear un array de NumPy
data = np.array([['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036],
['Detroit', 'Central', 3074]])
# Convertir el array de NumPy a un libro de Excel
workbook = cells.Workbook("numpy_to_workbook.xlsx")
# Acceder a la primera hoja de trabajo
sheet = workbook.worksheets.get(0)
# Insertar matriz NumPy en la hoja de cálculo comenzando desde A1
insert_numpy_array(sheet, data, 0, 0)
# Guardar el libro de trabajo como archivo de Excel
workbook.save("numpy_to_worksheet.xlsx")

Cómo convertir un ndarray de NumPy a una hoja de trabajo
Cómo convertir un ndarray de NumPy a ListObject (tabla de Excel)
Las tablas de Excel (también llamadas ListObjects) son una forma poderosa de organizar y analizar datos. Con Aspose.Cells, puedes importar directamente un array de NumPy en un ListObject.
Por favor, sigue los pasos a continuación para convertir un ndarray de NumPy a un ListObject (Tabla de Excel):
- Cree un array 2D de NumPy con datos de muestra.
- Inicializa un nuevo libro de trabajo y accede a la primera hoja de cálculo.
- Inserte los datos de NumPy en las celdas de la hoja de trabajo utilizando una función auxiliar.
- Defina las filas y columnas de inicio y fin en función de las dimensiones del arreglo.
- Agrega un
ListObjecta la hoja de cálculo utilizandoworksheet.listobjects.add(). - Asigne un nombre de visualización al
ListObject. - Guarda el libro como un archivo de Excel.
El siguiente ejemplo de código muestra cómo convertir un ndarray de NumPy a una tabla de Excel:
# Crea un array de NumPy
data = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# Cree un nuevo libro de Excel
workbook = cells.Workbook()
worksheet = workbook.worksheets.get(0)
# Inserte el arreglo de NumPy en la hoja de cálculo a partir de la celda A1
insert_numpy_array(worksheet, data)
# Definir el rango para el ListObject
start_row, start_col = 0, 0
end_row, end_col = data.shape[0] - 1, data.shape[1] - 1
# Agregar ListObject (Tabla de Excel) desde los datos de NumPy
index = worksheet.list_objects.add(start_row, start_col, end_row, end_col, True)
list_object = worksheet.list_objects[index]
# Establecer un nombre de visualización para la tabla
list_object.display_name = "NumPyTable"
# Guardar el libro de trabajo
workbook.save("numpy_to_listobject.xlsx")

Cómo convertir un ndarray de NumPy a un ListObject (tabla de Excel)
Convertir ndarray de NumPy a Rango
A veces puede que desee colocar un arreglo de NumPy en un rango específico de celdas. Este método es ideal cuando necesita una colocación precisa de datos dentro de las hojas de cálculo, como llenar un área de tabla predefinida o exportar resultados de análisis en un bloque de celdas seleccionado.
Siga los pasos a continuación para convertir ndarray de NumPy a Rango:
- Crear un ndarray 2D de NumPy.
- Crea un nuevo libro de trabajo o abre uno existente.
- Seleccione la hoja de trabajo objetivo.
- Recorra los valores de ndarray e insértelos en las celdas de Excel correspondientes.
- Crea un objeto
Rangeconcells.createrange(startcell, endcell). - Exporta la hoja de cálculo con el rango completado a un archivo de Excel.
El siguiente ejemplo de código muestra cómo insertar un ndarray de NumPy en un rango de Excel:
import numpy as np
from datetime import datetime
from aspose.cells import Workbook, CellsHelper
# Ayudante para colocar valores de NumPy de forma segura en celdas
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 de Python → cadena compatible con Excel
value = str(np.datetime_as_string(raw_value, unit='D'))
else:
value = raw_value
cell.put_value(value)
# Función para insertar un array de NumPy en celdas y devolver el rango
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)
# Defina el rango basado en la celda de inicio/final.
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 de ejemplo de NumPy
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 nuevo libro de trabajo y obtén la primera hoja de trabajo.
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells
# Insertar ndarray en la hoja de cálculo como Rango
range_obj = numpy_to_range(cells, data, 0, 0)
print("Row count:", range_obj.row_count)
print("Column count:", range_obj.column_count)
# Guarda el libro de trabajo
workbook.save("numpy_to_range.xlsx")

Cómo convertir ndarray de NumPy a rango
Cómo convertir ndarray de NumPy a Nombre (Rango Nombrado)
A veces puede que desees asignar un nombre significativo a un rango de datos específico en Excel. Esto facilita la referencia a los datos en fórmulas, gráficos u otras hojas de cálculo. En esta sección, te mostraremos cómo convertir NumPy a un rango nombrado de Excel usando Python y Aspose.Cells. Al crear un rango nombrado, puedes trabajar con tus datos de NumPy de manera más eficiente dentro de Excel.
Siga los pasos a continuación para convertir un ndarray de NumPy a un Rango Nombrado en Excel utilizando Aspose.Cells.
- Crea un array de NumPy en Python.
- Crear un nuevo libro de trabajo y acceder a la hoja de trabajo objetivo.
- Recorra el array e inserte cada valor en la hoja de cálculo.
- Defina un rango que cubra los datos importados.
- Asigne un nombre a ese rango.
- Guarda el libro como un archivo de Excel.
El siguiente ejemplo de código muestra cómo insertar un ndarray de NumPy en un rango con nombre en Excel:
import numpy as np
import aspose.cells
from aspose.cells import Workbook, CellsHelper
# Función auxiliar para insertar datos de NumPy en celdas de la hoja de trabajo
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)
# Regrese el área de la celda cubierta
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
# ---------------------------
# Crear un array de NumPy de muestra
data = np.array([
['Product', 'Region', 'Sales'],
['Laptop', 'East', 1200],
['Phone', 'West', 950],
['Tablet', 'North', 740]
])
# Crear un nuevo libro de trabajo
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells
# Insertar ndarray en celdas comenzando en (0,0)
(start_row, start_col, end_row, end_col) = insert_ndarray_into_cells(cells, data, 0, 0)
# Obtener referencias de celdas de 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 rango nombrado para este 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}"
# Guarda el libro de trabajo
workbook.save("numpy_to_named_range.xlsx")

Cómo convertir un ndarray de NumPy a un Nombre (Rango Nombrado)
Comience con Aspose.Cells for Python
Ahora has visto lo fácil que es convertir matrices de NumPy en Excel utilizando Aspose.Cells. La biblioteca te brinda control total sobre libros de trabajo, hojas de cálculo, tablas, rangos y rangos nombrados.
Aquí hay algunos enlaces útiles para mejorar su comprensión:
- Documentación del producto
- Referencia de la API
- Herramientas de Excel en línea gratuitas
- Tutoriales y Guías para Desarrolladores
Obtén una licencia temporal gratuita y comienza a usar Aspose.Cells hoy para hacer que tus datos de Python sean completamente compatibles con los flujos de trabajo de Excel.
NumPy a Excel: Preguntas frecuentes
Q1: ¿Necesito tener Microsoft Excel instalado para usar Aspose.Cells?
No. Aspose.Cells funciona de manera independiente. No necesitas Excel ni ningún otro software instalado.
Q2: ¿Puede Aspose.Cells manejar grandes arreglos de NumPy?
Sí. La biblioteca está optimizada para conjuntos de datos grandes y funciona bien incluso con arreglos grandes.
Q3: ¿Qué formatos de Excel son compatibles?
Puedes guardar tus datos de NumPy en formatos de hoja de cálculo como XLSX, XLS, CSV, ODS y muchos otros.
Q4: ¿Puedo dar formato a las celdas de Excel después de exportar datos de NumPy?
Sí. Puedes aplicar estilos, formatos de número, fórmulas e incluso crear gráficos o tablas dinámicas.
Q5: ¿Hay una versión gratuita de Aspose.Cells?
Sí. Puedes descargar una prueba gratuita o solicitar una licencia temporal para pruebas.
Conclusión
NumPy es una herramienta fundamental para la ciencia de datos y el análisis numérico en Python, pero los informes del mundo real a menudo requieren Excel. Con Aspose.Cells for Python a través de .NET, convertir NumPy a Excel se vuelve sin problemas y flexible. En esta guía, exploramos diferentes métodos: exportar arreglos de NumPy a un libro de trabajo completo, insertar datos en una hoja de cálculo, formatear como un ListObject (tabla de Excel), mapear arreglos en un rango y asignarlos a un rango nombrado. Cada enfoque sirve a un propósito único. Al combinar el poder de NumPy con la flexibilidad de Aspose.Cells, puedes trasladarte de manera eficiente del análisis basado en Python a informes profesionales de Excel, asegurando que tus datos sean tanto accesibles como listos para la presentación.
Si tienes alguna pregunta, no dudes en preguntar en nuestro free support forum, y estaremos encantados de ayudar.
