Преобразование Excel в NumPy
Введение в NumPy
NumPy (Numerical Python) - это открытое расширение числовых вычислений Python. Этот инструмент может использоваться для хранения и обработки больших матриц, что намного эффективнее, чем вложенная структура списков Python (которая также может использоваться для представления матриц). Он поддерживает большое количество многомерных массивов и операций с матрицами, а также предоставляет большое количество библиотек математических функций для операций с массивами.
Основные функции NumPy:
- Ndarray - это многомерный массив, представляющий собой быструю, гибкую и экономящую место структуру данных.
- Линейная алгебра, включая умножение матриц, транспонирование, обращение и т.д.
- Преобразование Фурье, выполнение быстрого преобразования Фурье для массива.
- Быстрые операции с массивами с плавающей запятой.
- Интеграция кода на языке C в Python для увеличения скорости его выполнения.
С помощью Aspose.Cells для Python via .NET API вы можете конвертировать Excel, TSV, CSV, Json и множество других форматов в Numpy ndarray.
Как конвертировать книгу Excel в NumPy ndarray
Вот пример кода, демонстрирующий, как экспортировать данные Excel в массив NumPy, используя Aspose.Cells для Python via .NET:
- Загрузите образец файла.
- Обработайте данные Excel и экспортируйте данные в массив NumPy, используя Aspose.Cells для 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) |
Результат вывода:
[[['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']]]
Как конвертировать рабочий лист в NumPy ndarray
Вот пример кода, демонстрирующий, как экспортировать данные рабочего листа в Numpy ndarray, используя Aspose.Cells для Python via .NET:
- Загрузите образец файла.
- Получите первый лист.
- Конвертируйте данные рабочего листа в Numpy ndarray, используя Aspose.Cells для Python Excel библиотеки.
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) |
Результат вывода:
[['City' 'Region' 'Store']
['Chicago' 'Central' '3055']
['New York' 'East' '3036']
['Detroit' 'Central' '3074']]
Как конвертировать диапазон Excel в NumPy ndarray
Вот пример кода, демонстрирующий, как экспортировать данные диапазона в массив NumPy, используя Aspose.Cells для Python via .NET:
- Загрузите образец файла.
- Получите первый лист.
- Создайте диапазон.
- Конвертируйте данные диапазона в Numpy ndarray, используя Aspose.Cells для Python Excel библиотеки.
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) |
Результат вывода:
[['Region' 'Store']
['Central' '3055']
['East' '3036']]
Как конвертировать ListObject Excel в NumPy ndarray
Вот пример фрагмента кода, демонстрирующий, как экспортировать данные ListObject в массив NumPy, используя Aspose.Cells для Python via .NET:
- Загрузите образец файла.
- Получите первый лист.
- Создайте объект ListObject.
- Преобразуйте данные ListObject в массив NumPy с использованием библиотеки Excel для Python Aspose.Cells.
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) |
Результат вывода:
[['City' 'Region' 'Store']
['Chicago' 'Central' '3055']
['New York' 'East' '3036']
['Detroit' 'Central' '3074']]
Как преобразовать строку Excel в массив NumPy
Вот пример фрагмента кода, демонстрирующий, как экспортировать данные строки в массив NumPy, используя Aspose.Cells для Python via .NET:
- Загрузите образец файла.
- Получите первый лист.
- Получите объект строки по индексу строки.
- Преобразуйте данные строки в массив NumPy с использованием библиотеки Excel для Python Aspose.Cells.
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) |
Результат вывода:
['Detroit' 'Central' '3074']
Как преобразовать столбец Excel в массив NumPy
Вот пример фрагмента кода, демонстрирующий, как экспортировать данные столбца в массив NumPy, используя Aspose.Cells для Python via .NET:
- Загрузите образец файла.
- Получите первый лист.
- Получите объект столбца по индексу столбца.
- Преобразуйте данные столбца в массив NumPy с использованием библиотеки Excel для Python Aspose.Cells.
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) |
Результат вывода:
['Store' '3055' '3036' '3074']