Convertir Excel a NumPy

Introducción a NumPy

NumPy (Numerical Python) es una extensión de cálculo numérico de código abierto de Python. Esta herramienta se puede utilizar para almacenar y procesar matrices grandes, que es mucho más eficiente que la estructura de listas anidadas de Python (que también se puede utilizar para representar matrices). Admite una gran cantidad de matrices dimensionales y operaciones de matrices, y también proporciona una gran cantidad de bibliotecas de funciones matemáticas para operaciones de matriz.

Las principales funciones de NumPy:

  1. Ndarray, un objeto de matriz multidimensional, es una estructura de datos rápida, flexible y que ahorra espacio.
  2. Operaciones de álgebra lineal, incluyendo multiplicación de matrices, transposición, inversión, etc.
  3. Transformada de Fourier, realizando una transformada rápida de Fourier en una matriz.
  4. Operación rápida de matrices de punto flotante.
  5. Integrar código en lenguaje C en Python para que se ejecute más rápido.

Usando la API de Aspose.Cells for Python via .NET, puedes convertir Excel, TSV, CSV, Json y muchos otros formatos a Numpy ndarray.

Cómo convertir un libro de trabajo de Excel a Numpy ndarray

Aquí tienes un ejemplo de fragmento de código para demostrar cómo exportar datos de Excel a un array de NumPy usando Aspose.Cells for Python via .NET:

  1. Cargar el archivo de muestra.
  2. Recorrer los datos de Excel y exportarlos a un Numpy ndarray usando Aspose.Cells for Python via .NET.
import numpy as np
import aspose.cells
from aspose.cells import Workbook, Worksheet, Range
# Open the Excel workbook
book = Workbook("sample_data.xlsx")
# workbook to ndarray
excel_ndarray = np.array([], dtype= object)
sheet_count = book.worksheets.capacity - 1
excel_list = []
for sheet_index in range(0, sheet_count):
sheet_list =[]
sheet = book.worksheets.get(sheet_index)
cells = sheet.cells
rows = cells.rows
max_column_index = cells.max_column + 1
row_count = rows.count
index = -1
for row_index in range(0, row_count):
row = rows.get_row_by_index(row_index)
if row_index != row.index:
for blank_row_index in range(index+1, row.index):
blank_row =[]
for blank_column_index in range(0,max_column_index):
blank_row.append("")
sheet_list.append(blank_row)
data_row =[]
for column_index in range(0,max_column_index):
curr_cell = cells.check_cell(row.index, column_index)
if curr_cell:
data_row.append(curr_cell.value)
else:
data_row.append("")
sheet_list.append(data_row)
index = row.index
excel_list.append(sheet_list)
excel_ndarray = np.asarray(excel_list)
print(excel_ndarray)

El resultado de la salida:

[[['City' 'Region' 'Store']    
  ['Chicago' 'Central' '3055'] 
  ['New York' 'East' '3036']   
  ['Detroit' 'Central' '3074']]

 [['City2' 'Region2' 'Store3']
  ['Seattle' 'West' '3000']
  ['philadelph' 'East' '3082']
  ['Detroit' 'Central' '3074']]

 [['City3' 'Region3' 'Store3']
  ['Seattle' 'West' '3166']
  ['New York' 'East' '3090']
  ['Chicago' 'Central' '3055']]]

Cómo convertir una hoja de cálculo a Numpy ndarray

Aquí tienes un ejemplo de fragmento de código para demostrar cómo exportar datos de una hoja de cálculo a un array de Numpy usando Aspose.Cells for Python via .NET:

  1. Cargar el archivo de muestra.
  2. Obtener la primera hoja de cálculo.
  3. Convertir datos de la hoja de cálculo a Numpy ndarray usando la biblioteca de Excel Aspose.Cells for Python.
import numpy as np
import aspose.cells
from aspose.cells import Workbook, Worksheet, Range
# Open the Excel workbook
book = Workbook("sample_data.xlsx")
# Get the first worksheet
sheet1 = book.worksheets.get(0)
cells = sheet1.cells
rows = cells.rows
max_column_index = sheet1.cells.max_column + 1
# worksheet to ndarray
worksheet_list =[]
row_count = rows.count
index = -1
for row_index in range(0, row_count):
row = rows.get_row_by_index(row_index)
if row_index != row.index:
for blank_row_index in range(index+1, row.index):
blank_row =[]
for blank_column_index in range(0,max_column_index):
blank_row.append("")
worksheet_list.append(blank_row)
data_row =[]
for column_index in range(0,max_column_index):
curr_cell = cells.check_cell(row.index, column_index)
if curr_cell:
data_row.append(curr_cell.value)
else:
data_row.append("")
worksheet_list.append(data_row)
index = row.index
worksheet_ndarray = np.asarray(worksheet_list)
print(worksheet_ndarray)

El resultado de la salida:

[['City' 'Region' 'Store']    
 ['Chicago' 'Central' '3055'] 
 ['New York' 'East' '3036']   
 ['Detroit' 'Central' '3074']]

Cómo convertir un rango de Excel a Numpy ndarray

Aquí tienes un ejemplo de fragmento de código para demostrar cómo exportar datos de un rango a Numpy ndarray usando Aspose.Cells for Python via .NET:

  1. Cargar el archivo de muestra.
  2. Obtener la primera hoja de cálculo.
  3. Crear el rango.
  4. Convertir datos de rango a Numpy ndarray usando la biblioteca de Excel Aspose.Cells for Python.
import numpy as np
import aspose.cells
from aspose.cells import Workbook, Worksheet, Range
# Open the Excel workbook
book = Workbook("sample_data.xlsx")
# Get the first worksheet
sheet1 = book.worksheets.get(0)
# range to ndarray
cells = sheet1.cells
range_obj = cells.create_range("B1", "C3")
range_list =[]
for row_index in range(range_obj.first_row , range_obj.first_row + range_obj.row_count ):
row =[]
for column_index in range(range_obj.first_column, range_obj.first_column + range_obj.column_count):
curr_cell = cells.check_cell(row_index, column_index)
if curr_cell:
row.append(curr_cell.value)
else:
row.append("")
range_list.append(row)
range_ndarray = np.asarray(range_list)
print(range_ndarray)

El resultado de la salida:

[['Region' 'Store']
 ['Central' '3055']
 ['East' '3036']]

Cómo convertir un objeto de lista de Excel a Numpy ndarray

Aquí tienes un ejemplo de fragmento de código para demostrar cómo exportar datos de ListObject a un ndarray de NumPy utilizando Aspose.Cells for Python via .NET:

  1. Cargar el archivo de muestra.
  2. Obtener la primera hoja de cálculo.
  3. Crear objeto ListObject.
  4. Convertir datos de ListObject a ndarray de NumPy utilizando la biblioteca de Excel Aspose.Cells para Python.
import numpy as np
import aspose.cells
from aspose.cells import Workbook, Worksheet, Range
# Open the Excel workbook
book = Workbook("sample_data.xlsx")
# Get the first worksheet
sheet1 = book.worksheets.get(0)
cells = sheet1.cells
# listobject to ndarray
table_index = sheet1.list_objects.add("A1", "C4", True)
table = sheet1.list_objects[table_index]
table_list =[]
for row_index in range(table.start_row , table.end_row + 1):
row =[]
for column_index in range(table.start_column, table.end_column + 1):
curr_cell = cells.check_cell(row_index, column_index)
if curr_cell:
row.append(curr_cell.value)
else:
row.append("")
table_list.append(row)
table_ndarray = np.asarray(table_list)
print(table_ndarray)

El resultado de la salida:

[['City' 'Region' 'Store']
 ['Chicago' 'Central' '3055']
 ['New York' 'East' '3036']
 ['Detroit' 'Central' '3074']]

Cómo convertir una fila de Excel a ndarray de NumPy

Aquí tienes un ejemplo de fragmento de código para demostrar cómo exportar datos de fila a ndarray de NumPy utilizando Aspose.Cells para Python via .NET:

  1. Cargar el archivo de muestra.
  2. Obtener la primera hoja de cálculo.
  3. Obtener objeto de fila por índice de fila.
  4. Convertir datos de fila a ndarray de NumPy utilizando la biblioteca de Excel Aspose.Cells para Python.
import numpy as np
import aspose.cells
from aspose.cells import Workbook, Worksheet, Range
# Open the Excel workbook
book = Workbook("sample_data.xlsx")
# Get the first worksheet
sheet1 = book.worksheets.get(0)
cells = sheet1.cells
max_column_index = cells.max_column + 1
# row to ndarray
row_index = cells.max_data_row
row_list = []
for column_index in range(0,max_column_index):
curr_cell = cells.check_cell(row_index, column_index)
if curr_cell:
row_list.append(curr_cell.value)
else:
row_list.append("")
row_ndarray = np.asarray(row_list)
print(row_ndarray)

El resultado de la salida:

['Detroit' 'Central' '3074']

Cómo convertir una columna de Excel a ndarray de NumPy

Aquí tienes un ejemplo de fragmento de código para demostrar cómo exportar datos de columna a ndarray de NumPy utilizando Aspose.Cells para Python via .NET:

  1. Cargar el archivo de muestra.
  2. Obtener la primera hoja de cálculo.
  3. Obtener objeto de columna por índice de columna.
  4. Convertir datos de columna a ndarray de NumPy utilizando la biblioteca de Excel Aspose.Cells para Python.
import numpy as np
import aspose.cells
from aspose.cells import Workbook, Worksheet, Range
# Open the Excel workbook
book = Workbook("sample_data.xlsx")
# Get the first worksheet
sheet1 = book.worksheets.get(0)
cells = sheet1.cells
max_row_index = cells.max_row + 1
# column to ndarray
column_index = cells.max_data_column
column_list = []
for row_index in range(0,max_row_index):
curr_cell = sheet1.cells.check_cell(row_index, column_index)
if curr_cell:
column_list.append(curr_cell.value)
else:
column_list.append("")
column_ndarray = np.asarray(column_list)
print(column_ndarray)

El resultado de la salida:

['Store' '3055' '3036' '3074']