Konvertera Excel till NumPy

Introduktion till NumPy

NumPy (Numerical Python) är en öppen källkods-numerisk datortillägg till Python. Detta verktyg kan användas för att lagra och bearbeta stora matriser, vilket är mycket mer effektivt än Pythons nästlade liststruktur (som också kan användas för att representera matriser). Det stöder ett stort antal dimensionella matriser och matrisoperationer, och tillhandahåller också ett stort antal matematiska funktionsbibliotek för matrisoperationer.

NumPys huvudfunktioner:

  1. Ndarray, en flerdimensionell matrisobjekt, är en snabb, flexibel och platsbesparande datastruktur.
  2. Linjär algebraoperationer, inklusive matrismultiplikation, transposition, invertering, etc.
  3. Fouriertansformation, utföra en snabb fouriertansformation på en matris.
  4. Snabb operation av flyttalsmatriser.
  5. Integrera C-språkkod i Python för att få det att köra snabbare.

Genom att använda Aspose.Cells för Python via .NET API kan du konvertera Excel, TSV, CSV, Json och många olika format till Numpy ndarray.

Hur man konverterar Excel-arbetsbok till NumPy ndarray

Här är en exempelkodsnutt för att demonstrera hur man exporterar exceldatan till en NumPy-matris med hjälp av Aspose.Cells för Python via .NET:

  1. Läs in provfilen.
  2. Gå igenom exceldatan och exportera datan till NumPy-matris med hjälp av Aspose.Cells för 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)

Utmatningsresultat:

[[['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']]]

Hur man konverterar arbetsblad till NumPy ndarray

Här är en exempelkodsnutt för att demonstrera hur man exporterar arbetsbladsdata till Numpy ndarray med hjälp av Aspose.Cells för Python via .NET:

  1. Läs in provfilen.
  2. Hämta den första arbetsboken.
  3. Konvertera arbetsbladsdata till Numpy ndarray med hjälp av Aspose.Cells för Python Excel-bibliotek.
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)

Utmatningsresultat:

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

Hur man konverterar en Excels område till NumPy ndarray

Här är en exempelkodsnutt för att demonstrera hur man exporterar områdesdata till NumPy ndarray med hjälp av Aspose.Cells för Python via .NET:

  1. Läs in provfilen.
  2. Hämta den första arbetsboken.
  3. Skapa området.
  4. Konvertera områdesdata till Numpy ndarray med hjälp av Aspose.Cells för Python Excel-biblioteket.
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)

Utmatningsresultat:

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

Hur man konverterar ett ListObject i Excel till NumPy ndarray

Här är en exempelkodsnutt för att demonstrera hur man exporterar ListObject-datan till Numpy ndarray med hjälp av Aspose.Cells för Python via .NET:

  1. Läs in provfilen.
  2. Hämta den första arbetsboken.
  3. Skapa ListObject-objekt.
  4. Konvertera ListObject-data till NumPy ndarray med hjälp av Aspose.Cells för Python Excel-biblioteket.
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)

Utmatningsresultat:

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

Hur man konverterar en rad i Excel till NumPy ndarray

Här är ett exempel på kodsnutt för att visa hur man exporterar raddata till NumPy ndarray med hjälp av Aspose.Cells för Python via .NET:

  1. Läs in provfilen.
  2. Hämta den första arbetsboken.
  3. Hämta radobjekt efter radindex.
  4. Konvertera raddata till NumPy ndarray med hjälp av Aspose.Cells för Python Excel-biblioteket.
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)

Utmatningsresultat:

['Detroit' 'Central' '3074']

Hur man konverterar en kolumn i Excel till NumPy ndarray

Här är ett exempel på kodsnutt för att visa hur man exporterar kolumnedata till NumPy ndarray med hjälp av Aspose.Cells för Python via .NET:

  1. Läs in provfilen.
  2. Hämta den första arbetsboken.
  3. Hämta kolumnobjekt efter kolumnindex.
  4. Konvertera kolumndata till NumPy ndarray med hjälp av Aspose.Cells för Python Excel-biblioteket.
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)

Utmatningsresultat:

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