NumPy є однією з найпопулярніших бібліотек у Python. Вона підтримує науку про дані, машинне навчання та чисельний аналіз. Багато розробників використовують масиви NumPy (ndarray) для швидкої обробки великих наборів даних.
У нашому попередньому блозі ми пояснили, як конвертувати файли Excel у масиви NumPy. Цей робочий процес корисний, коли вам потрібно ввести зовнішні дані в Python для аналізу. Але що, якщо ви хочете зворотне? Багато разів вам потрібно експортувати ваші результати з Python з NumPy в Excel для звітності та обміну. Excel широко використовується в бізнесі, школах та організаціях, що робить його ідеальним форматом для співпраці.
У цьому керівництві ми покажемо вам поетапно, як конвертувати NumPy в Excel за допомогою Python та Aspose.Cells for Python через .NET.
Чому конвертувати NumPy в Excel?
NumPy ідеально підходить для обчислень та аналізу в Python. Але ми часто повинні ділитися результатами з іншими. Більшість бізнес-користувачів надає перевагу Excel, оскільки він знайомий і простий у використанні.
Ось деякі поширені причини, чому вам може знадобитися експортувати NumPy в Excel:
- Звітність даних: Перетворіть оброблені дані в файли Excel для менеджерів або клієнтів.
- Співпраця: Діліться результатами з товаришами по команді, які не використовують Python.
- Аналіз бізнесу: Поєднайте результати NumPy з існуючими звітами та панелями інструментів Excel.
- Візуалізація: Використовуйте графіки Excel і зведені таблиці, щоб зробити дані більш значущими.
Excel є універсальним форматом. Він з’єднує розрив між розробниками Python та нетехнічними користувачами. Експортуючи масиви NumPy до Excel, ви робите свої дані доступними, використовуваними та легкими для розуміння.
Python NumPy Excel Library
Aspose.Cells for Python - це потужна бібліотека для роботи з електронними таблицями. Вона дозволяє вам створювати, редагувати та обробляти файли Excel без встановлення Microsoft Excel. Це найкраща бібліотека Excel для Python, розроблена для розробників, яким потрібен повний контроль над документами Excel. Ви можете:
- Завантаження та збереження файлів Excel у різних форматах.
- Працюйте з аркушами, таблицями, діапазонами та графіками.
- Імпортуйте та експортуйте дані з об’єктів Python, включаючи масиви NumPy.
- Обробляйте великі набори даних з високою швидкістю та точністю.
Найкраща частина полягає в тому, що Aspose.Cells працює незалежно. Вам не потрібен Excel або будь-яке зовнішнє програмне забезпечення. Він працює плавно у ваших Python-додатках і добре інтегрується з науковими робочими процесами. Це робить його надійним рішенням для конвертації даних NumPy у файли Excel.
Convert NumPy to Excel in Python
Перетворення масиву NumPy в Excel за допомогою Aspose.Cells є простим. Дотримуйтесь цих швидких кроків:
Крок 1: Встановіть Aspose.Cells for Python через .NET
Встановіть пакет за допомогою pip:
pip install aspose-cells-python
Крок 2: Імпортувати необхідні бібліотеки
У вашому скрипті Python імпортуйте NumPy та Aspose.Cells:
import numpy as np
import aspose.cells as cells
Крок 3: Створіть зразковий масив NumPy
Для тестування створіть простий 2D масив:
data = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
Крок 4: Визначте настроювану функцію – insertnumpyarray
Значення NumPy часто приходять у вигляді типів, таких як numpy.int64, numpy.float32 або numpy.bool. Ці значення потрібно перетворити на рідні типи Python перед записом у комірки Excel.
Допоміжна функція нижче виконує це перетворення та безпосередньо вставляє масив у worksheet, починаючи з вказаного рядка та стовпця:
# Функція користувача для вставки масиву NumPy у аркуш
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]
# Перетворення типів NumPy на рідні типи 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)
У наступних розділах ми продемонструємо, як вставити дані NumPy у Робочий зошит, Робочий лист, Об’єкт списку, Діапазон та Іменований діапазон. Приклади коду в наступних розділах використовують допоміжну функцію, визначену в розділі Крок 4: Користувацька функція.
Як конвертувати NumPy ndarray в книгу Excel
Ви можете створити повну книгу Excel з масиву NumPy всього за кілька рядків. Цей метод ідеально підходить, коли ви хочете експортувати результати аналізу даних, виходи машинного навчання або табличні набори даних у професійний файл Excel, який можна поділитися або подальше обробити.
Слідуйте наведеним крокам, щоб перетворити NumPy ndarray в Excel Workbook:
- Створіть 2D масив NumPy з вашими даними.
- Ініціалізуйте нову порожню робочу книгу за допомогою класу
Workbook. - Додайте новий аркуш до робочої книги, використовуючи метод
worksheets.add(). - Отримайте доступ до нового аркуша за його індексом.
- Пройдіть через масив NumPy та вставте значення в клітини робочого листа.
- Збережіть книгу як файл Excel.
Наведений нижче кодовий приклад показує, як перетворити масив NumPy (ndarray) на книгу Excel.
# Створіть масив NumPy
data = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# Перетворити масив NumPy в робочий зошит Excel
workbook = cells.Workbook()
# Додати новий аркуш
new_sheet_index = workbook.worksheets.add()
worksheet = workbook.worksheets.get(new_sheet_index)
# Вставте масив у новий аркуш, починаючи з клітинки A1
insert_numpy_array(worksheet, data)
# Збережіть книгу як файл Excel
workbook.save("numpy_to_workbook.xlsx")

Як перетворити NumPy в робочий зошит Excel
Вставити масив NumPy у робочий лист
Іноді у вас вже є робоча книга, і ви лише хочете вставити дані NumPy в один аркуш.
Слідкуйте за наведеними кроками, щоб перетворити NumPy ndarray на Worksheet:
- Створіть 2D масив NumPy з вашими даними.
- Завантажте існуючий файл Excel, використовуючи клас
Workbook. - Виберіть аркуш, де ви хочете помістити дані.
- Продовжте проходити масив NumPy та вставляйте значення в клітинки аркуша.
- Збережіть книгу як файл Excel.
Наступний приклад коду демонструє, як вставити масив NumPy ndarray у конкретний аркуш робочої книги Excel:
# Створіть масив NumPy
data = np.array([['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036],
['Detroit', 'Central', 3074]])
# Перетворити масив NumPy на робочу книжку Excel
workbook = cells.Workbook("numpy_to_workbook.xlsx")
# Доступ до першого аркуша
sheet = workbook.worksheets.get(0)
# Вставте масив NumPy у робочий лист, починаючи з A1.
insert_numpy_array(sheet, data, 0, 0)
# Збережіть книгу як файл Excel
workbook.save("numpy_to_worksheet.xlsx")

Як перетворити NumPy ndarray в робочий лист
Як конвертувати NumPy ndarray в ListObject (таблиця Excel)
Таблиці Excel (також звані ListObjects) є потужним способом організації та аналізу даних. З Aspose.Cells ви можете безпосередньо імпортувати масив NumPy у ListObject.
Будь ласка, слідуйте наведеним нижче крокам, щоб перетворити NumPy ndarray на ListObject (таблиця Excel):
- Створіть 2D масив NumPy з тестовими даними.
- Ініціалізуйте нову книгу та отримайте доступ до першого аркуша.
- Вставте дані NumPy у клітини таблиці за допомогою допоміжної функції.
- Визначте початкові та кінцеві рядки і стовпці на основі розмірів масиву.
- Додайте
ListObjectдо аркушу, використовуючиworksheet.listobjects.add(). - Призначте ім’я для відображення
ListObject. - Збережіть робочий зошит як файл Excel.
Наступний приклад коду показує, як перетворити масив NumPy ndarray на таблицю Excel:
# Створіть масив NumPy
data = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# Створіть нову книгу Excel
workbook = cells.Workbook()
worksheet = workbook.worksheets.get(0)
# Вставте масив NumPy у робочий лист, починаючи з клітинки A1.
insert_numpy_array(worksheet, data)
# Визначте діапазон для ListObject
start_row, start_col = 0, 0
end_row, end_col = data.shape[0] - 1, data.shape[1] - 1
# Додати ListObject (таблицю Excel) з даних NumPy
index = worksheet.list_objects.add(start_row, start_col, end_row, end_col, True)
list_object = worksheet.list_objects[index]
# Встановіть відображувальне ім'я для таблиці
list_object.display_name = "NumPyTable"
# Збережіть робочий зошит
workbook.save("numpy_to_listobject.xlsx")

Як перетворити NumPy ndarray в ListObject (таблиця Excel)
Перетворити NumPy ndarray на Range
Іноді ви можете захотіти розмістити масив NumPy у певному діапазоні клітинок. Цей метод ідеальний, коли вам потрібно точно розмістити дані всередині аркушів, наприклад, заповнивши заздалегідь визначену область таблиці або експортувавши результати аналізу у вибраний блок клітинок.
Представте кроки нижче, щоб перетворити NumPy ndarray на Range:
- Створіть 2D NumPy ndarray.
- Створіть нову робочу книгу або відкрийте існуючу.
- Виберіть аркуш призначення.
- Переберіть значення ndarray і вставте їх у відповідні комірки Excel.
- Створіть об’єкт
Rangeза допомогоюcells.createrange(startcell, endcell). - Експортуйте робочий лист з заповненим діапазоном у файл Excel.
Наступний приклад коду демонструє, як вставити масив NumPy ndarray у діапазон Excel:
import numpy as np
from datetime import datetime
from aspose.cells import Workbook, CellsHelper
# Допоміжний засіб для безпечного введення значень NumPy в комірки
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,)):
# Перетворення numpy datetime64 → Python datetime → Excel-сумісний рядок
value = str(np.datetime_as_string(raw_value, unit='D'))
else:
value = raw_value
cell.put_value(value)
# Функція для вставки масиву NumPy у клітинки та повернення діапазону
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)
# Визначте діапазон на основі початкової/кінцевої комірки.
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)
# Create a sample NumPy array
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')]
])
# Створіть нову книгу та отримайте перший аркуш.
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells
# Вставити ndarray у робочий лист як діапазон
range_obj = numpy_to_range(cells, data, 0, 0)
print("Row count:", range_obj.row_count)
print("Column count:", range_obj.column_count)
# Збережіть робочу книжку
workbook.save("numpy_to_range.xlsx")

Як конвертувати NumPy ndarray до діапазону
Як конвертувати NumPy ndarray в ім’я (іменований діапазон)
Інколи вам може знадобитися призначити значну назву конкретному діапазону даних в Excel. Це полегшує посилання на дані у формулах, діаграмах або інших аркушах. У цьому розділі ми покажемо, як конвертувати NumPy в іменований діапазон Excel, використовуючи Python та Aspose.Cells. Створюючи іменований діапазон, ви можете ефективніше працювати з вашими даними NumPy в Excel.
Слідуйте наведеним крокам для перетворення масиву NumPy у названий діапазон в Excel за допомогою Aspose.Cells
- Create a NumPy array in Python.
- Створіть нову робочу книгу та отримайте доступ до цільового аркуша.
- Переберіть масив та вставте кожне значення у робочий лист.
- Визначте діапазон, який покриває імпортовані дані.
- Призначте назву цьому діапазону.
- Збережіть книгу як файл Excel.
Наступний приклад коду показує, як вставити масив NumPy ndarray у названий діапазон в Excel:
import numpy as np
import aspose.cells
from aspose.cells import Workbook, CellsHelper
# Функція допомоги для вставки даних NumPy в клітинки аркуша
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)
# Поверніть покриту площу клітинки
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
# ---------------------------
# Створіть зразковий масив NumPy
data = np.array([
['Product', 'Region', 'Sales'],
['Laptop', 'East', 1200],
['Phone', 'West', 950],
['Tablet', 'North', 740]
])
# Створити нову книгу Excel
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells
# Вставте ndarray у клітини, починаючи з (0,0)
(start_row, start_col, end_row, end_col) = insert_ndarray_into_cells(cells, data, 0, 0)
# Отримання посилань на клітини Excel
start_cell = CellsHelper.cell_index_to_name(start_row, start_col)
end_cell = CellsHelper.cell_index_to_name(end_row, end_col)
# Створіть іменовану область для цього 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}"
# Збережіть книгу робочих аркушів
workbook.save("numpy_to_named_range.xlsx")

Як перетворити масив NumPy ndarray на ім’я (іменований діапазон)
Розпочніть роботу з Aspose.Cells for Python
Ви тепер побачили, як легко перетворити масиви NumPy в Excel за допомогою Aspose.Cells. Бібліотека надає вам повний контроль над книгами, аркушами, таблицями, діапазонами та іменованими діапазонами.
Ось кілька корисних посилань для покращення вашого розуміння:
- Документація продукту
- API Reference
- Безкоштовні онлайн інструменти Excel
- Посібники та навчання для розробників
Отримайте безкоштовну тимчасову ліцензію та почніть використовувати Aspose.Cells сьогодні, щоб зробити ваші дані Python повністю сумісними з робочими процесами Excel.
NumPy до Excel: Поширені запитання
Q1: Чи потрібно мені встановлювати Microsoft Excel для використання Aspose.Cells?
Ні. Aspose.Cells працює незалежно. Вам не потрібен Excel або будь-яке інше програмне забезпечення, встановлене на комп’ютері.
Q2: Чи може Aspose.Cells обробляти великі масиви NumPy?
Так. Бібліотека оптимізована для великих наборів даних і працює добре навіть з великими масивами.
Q3: Які формати Excel підтримуються?
Ви можете зберегти свої дані NumPy у форматах XLSX, XLS, CSV, ODS та багатьох інших форматах електронних таблиць.
Q4: Can I format Excel cells after exporting NumPy data?
Так. Ви можете застосовувати стилі, формати чисел, формули, а також створювати діаграми або зведені таблиці.
Q5: Чи є безкоштовна версія Aspose.Cells?
Так. Ви можете завантажити безкоштовну пробну версію або запросити тимчасову ліцензію для тестування.
Висновок
NumPy є основним інструментом для науки про дані та числового аналізу в Python, але звітування в реальному світі часто вимагає Excel. Завдяки Aspose.Cells for Python через .NET, конвертування NumPy в Excel стає безшовним і гнучким. У цьому посібнику ми розглянули різні методи: експортування масивів NumPy до повної книги, вставка даних у робочий аркуш, форматування як ListObject (таблиця Excel), відображення масивів у діапазоні та призначення їх іменованому діапазону. Кожен підхід має своє унікальне призначення. Поєднуючи потужність NumPy з гнучкістю Aspose.Cells, ви можете ефективно переходити від аналізу на основі Python до професійних звітів Excel, забезпечуючи доступність і готовність до презентації ваших даних.
Якщо у вас є будь-які запитання, будь ласка, не соромтеся запитувати на нашому безкоштовному форумі підтримки, і ми будемо раді допомогти.
