NumPy یکی از محبوب‌ترین کتابخانه‌ها در پایتون است. این کتابخانه علم داده، یادگیری ماشین و تحلیل عددی را قدرتمند می‌سازد. بسیاری از توسعه‌دهندگان از آرایه‌های NumPy (ndarray) برای مدیریت سریع داده‌های بزرگ استفاده می‌کنند.

در پست وبلاگ قبلی ما، ما توضیح دادیم که چگونه فایل‌های Excel را به آرایه‌های NumPy تبدیل کنیم. آن گردش کار زمانی مفید است که نیاز دارید داده‌های خارجی را به Python برای تحلیل وارد کنید. اما اگر بخواهید بالعکس عمل کنید چه؟ بسیاری از اوقات، شما نیاز دارید که نتایج Python خود را از NumPy به Excel برای گزارش‌گیری و اشتراک‌گذاری صادر کنید. Excel به طور گسترده‌ای در کسب‌وکارها، مدارس و سازمان‌ها مورد استفاده قرار می‌گیرد و آن را به فرمت ایده‌آل برای همکاری تبدیل می‌کند.

در این راهنما، به شما مرحله به مرحله نشان خواهیم داد که چگونه NumPy را با استفاده از Python و Aspose.Cells for Python از طریق .NET به Excel تبدیل کنید.

چرا NumPy را به اکسل تبدیل کنیم؟

NumPy برای محاسبات و تحلیل‌ها درون پایتون عالی است. اما ما اغلب نیاز داریم که نتایج را با دیگران به اشتراک بگذاریم. بیشتر کاربران تجاری Excel را ترجیح می‌دهند زیرا آشنا و آسان برای استفاده است.

در اینجا برخی از دلایل رایج وجود دارد که چرا ممکن است بخواهید NumPy را به Excel صادر کنید:

  • گزارش‌دهی داده‌ها: داده‌های پردازش‌شده را به فایل‌های اکسل برای مدیران یا مشتریان تبدیل کنید.
  • همکاری: نتایج را با هم تیمی‌هایی که از Python استفاده نمی‌کنند، به اشتراک بگذارید.
  • تحلیل کسب و کار: نتایج NumPy را با گزارشات و داشبوردهای موجود در Excel ترکیب کنید.
  • تصویری سازی: از نمودارها و جدول‌های محوری اکسل استفاده کنید تا داده‌ها معنادارتر شوند.

اکسل یک فرمت جهانی است. این فرمت فاصله میان توسعه‌دهندگان پایتون و کاربران غیرتخصصی را پر می‌کند. با صادر کردن آرایه‌های NumPy به اکسل، داده‌های خود را در دسترس، قابل استفاده و آسان برای درک می‌کنید.

کتابخانه اکسل NumPy پایتون

Aspose.Cells for Python یک کتابخانه قوی برای صفحات گسترده است. این امکان را به شما می‌دهد که فایل‌های اکسل را ایجاد، ویرایش و پردازش کنید بدون اینکه نیازی به نصب Microsoft Excel داشته باشید. این بهترین کتابخانه اکسل برای Python است که برای توسعه‌دهندگانی طراحی شده است که به کنترل کامل بر روی اسناد اکسل نیاز دارند. شما می‌توانید:

  • بارگذاری و ذخیره فایل‌های اکسل در فرمت‌های مختلف.
  • با ورق‌های کاری، جداول، محدوده‌ها و نمودارها کار کنید.
  • وارد و صادر کردن داده‌ها از اشیاء پایتون، از جمله آرایه‌های NumPy.
  • داده‌های بزرگ را با سرعت و دقت بالا مدیریت کنید.

بهترین قسمت این است که Aspose.Cells به صورت مستقل کار می‌کند. شما به Excel یا هر نرم‌افزار خارجی دیگری نیازی ندارید. این ابزار به‌خوبی در برنامه‌های پایتون شما اجرا می‌شود و به خوبی با جریان‌های کاری علمی ادغام می‌شود. این موضوع آن را به یک راه‌حل قابل اعتماد برای تبدیل داده‌های NumPy به فایل‌های Excel تبدیل می‌کند.

NumPy را به Excel در پایتون تبدیل کنید

تبدیل یک آرایه NumPy به Excel با Aspose.Cells ساده است. مراحل سریع زیر را دنبال کنید:

مرحله 1: نصب Aspose.Cells برای پایتون از طریق .NET

بسته را با استفاده از pip نصب کنید:

pip install aspose-cells-python

مرحله ۲: وارد کردن کتابخانه‌های مورد نیاز

در اسکریپت پایتون خود، NumPy و Aspose.Cells را وارد کنید:

import numpy as np
import aspose.cells as cells

مرحله ۳: ایجاد یک آرایه نمونه NumPy

برای تست، یک آرایه ۲ بعدی ساده ایجاد کنید:

data = np.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]])

مرحله ۴: یک تابع سفارشی تعریف کنید – insertnumpyarray

مقادیر NumPy معمولاً به صورت نوع هایی مانند numpy.int64، numpy.float32 یا numpy.bool می آیند. این ها قبل از نوشتن در سلول های اکسل نیاز به تبدیل به نوع های بومی Python دارند.

توابع کمکی زیر این تبدیل را انجام می‌دهد و آرایه را مستقیماً در یک صفحه‌گسترش از یک ردیف و ستون معین وارد می‌کند:

# توابع سفارشی برای وارد کردن آرایه 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 به انواع بومی پایتون
            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 به یک Workbook، Worksheet، ListObject، Range و Named Range را نشان خواهیم داد. مثال‌های کد در بخش‌های آینده از تابع کمکی تعریف شده در بخش مرحله ۴: تابع سفارشی استفاده می‌کنند.

چگونه ndarray NumPy را به کاربرگ اکسل تبدیل کنیم

شما می‌توانید یک فایل کامل اکسل را از یک آرایه NumPy تنها در چند خط ایجاد کنید. این روش زمانی عالی است که می‌خواهید نتایج تحلیل داده، خروجی‌های یادگیری ماشین یا مجموعه داده‌های جدولی را به یک فایل حرفه‌ای اکسل صادر کنید که بتوان آن را به اشتراک گذاشت یا پردازش بیشتری روی آن انجام داد.

برای تبدیل ndarray NumPy به کتاب کار Excel مراحل زیر را دنبال کنید:

  1. یک آرایه 2 بعدی NumPy با داده‌های خود ایجاد کنید.
  2. یک کتاب کار جدید خالی را با استفاده از کلاس Workbook راه‌اندازی کنید.
  3. به کاربرگ جدیدی به دفتر کار اضافه کنید با استفاده از روش worksheets.add() .
  4. به کار برگ جدید از طریق ایندکس آن دسترسی پیدا کنید.
  5. از آرایه NumPy عبور کنید و مقادیر را به سلول‌های ورق کاری وارد کنید.
  6. دفتر کار را به عنوان یک فایل اکسل ذخیره کنید.

نمونه کد زیر نشان می‌دهد که چگونه یک ndarray NumPy را به یک دفترچه کار 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)

# فایل کار را به عنوان فایل اکسل ذخیره کنید
workbook.save("numpy_to_workbook.xlsx")
چگونه NumPy را به کتاب کار اکسل تبدیل کنیم

چگونه NumPy را به ورک‌بوک اکسل تبدیل کنیم

وارد کردن ndarray NumPy به Worksheet

گاهی اوقات شما قبلاً یک کاربرگ دارید و فقط می‌خواهید داده‌های NumPy را به یک ورق کاری وارد کنید.

برای تبدیل ndarray NumPy به Worksheet مراحل زیر را دنبال کنید:

  1. یک آرایه 2 بعدی NumPy با داده‌های خود ایجاد کنید.
  2. یک فایل اکسل موجود را با استفاده از کلاس Workbook بارگذاری کنید.
  3. ورق کار را که می‌خواهید داده‌ها را در آن قرار دهید انتخاب کنید.
  4. آرایه NumPy را تکرار کرده و مقادیر را در سلول‌های ورق کار وارد کنید.
  5. کتاب کار را به عنوان یک فایل اکسل ذخیره کنید.

این مثال کد نشان می‌دهد که چگونه یک ndarray از NumPy را به یک برگه خاص در یک کتاب کار Excel وارد کنید:

# یک آرایه NumPy ایجاد کنید
data = np.array([['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036],
                 ['Detroit', 'Central', 3074]])

# آرایه NumPy را به کارکتاب اکسل تبدیل کنید
workbook = cells.Workbook("numpy_to_workbook.xlsx")

# به کاربرگ اول دسترسی پیدا کنید
sheet = workbook.worksheets.get(0)

# آرایه NumPy را از A1 در صفحه‌گستر وارد کنید
insert_numpy_array(sheet, data, 0, 0)

# فایل کار را به عنوان فایل اکسل ذخیره کنید
workbook.save("numpy_to_worksheet.xlsx")
چگونه ndarray NumPy را به Worksheet تبدیل کنیم

چگونه NumPy ndarray را به Worksheet تبدیل کنیم

چگونه ndarray NumPy را به ListObject (جدول اکسل) تبدیل کنیم

جدول‌های اکسل (که همچنین به عنوان ListObjects شناخته می‌شوند) روشی قدرتمند برای سازماندهی و تحلیل داده‌ها هستند. با Aspose.Cells، شما می‌توانید به صورت مستقیم یک آرایه NumPy را به یک ListObject وارد کنید.

لطفاً مراحل زیر را برای تبدیل ndarray NumPy به ListObject (جدول اکسل) دنبال کنید:

  1. یک آرایه دو بعدی NumPy با داده های نمونه ایجاد کنید.
  2. یک دفترکار جدید راه‌اندازی کنید و به اولین ورق کاری دسترسی پیدا کنید.
  3. داده‌های NumPy را با استفاده از یک تابع کمکی در سلول‌های برگه کاری وارد کنید.
  4. ابعاد آرایه را بر اساس ردیف‌ها و ستون‌های شروع و پایان تعریف کنید.
  5. یک ListObject به ورق کار اضافه کنید با استفاده از worksheet.listobjects.add() .
  6. نام نمایشی به ListObject اختصاص دهید.
  7. کتابکار را به عنوان یک فایل اکسل ذخیره کنید.

کد نمونه زیر نشان می‌دهد که چگونه یک آرایه NumPy ndarray را به یک جدول اکسل تبدیل کنیم:

# یک آرایه NumPy ایجاد کنید
data = np.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]])

# یک کاربرگ جدید اکسل ایجاد کنید
workbook = cells.Workbook()
worksheet = workbook.worksheets.get(0)

# آرایه NumPy را در Worksheet از سلول 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

# از داده‌های NumPy یک ListObject (جدول اکسل) اضافه کنید
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"

# کارbook را ذخیره کنید
workbook.save("numpy_to_listobject.xlsx")
چگونه ndarray NumPy را به ListObject (جدول اکسل) تبدیل کنیم

چگونه ndarray NumPy را به ListObject (جدول اکسل) تبدیل کنیم

تبدیل ndarray NumPy به Range

گاهی اوقات ممکن است بخواهید یک آرایه NumPy را در یک دامنه خاص از سلول‌ها قرار دهید. این روش برای زمانی که به قرارگیری دقیق داده‌ها در داخل کاربرگ‌ها نیاز دارید، ایده‌آل است، مانند پر کردن یک ناحیه جدول از پیش تعیین شده یا صادر کردن نتایج تجزیه و تحلیل به یک بلوک سلولی انتخاب شده.

مراحل زیر را برای تبدیل ndarray NumPy به Range دنبال کنید:

  1. یک ndarray دو بعدی NumPy ایجاد کنید.
  2. یک کاربرگ جدید ایجاد کنید یا یک کاربرگ موجود را باز کنید.
  3. برگه هدف را انتخاب کنید.
  4. از طریق مقادیر ndarray حلقه بزنید و در سلول‌های مربوطه اکسل وارد کنید.
  5. یک شی Range با استفاده از cells.createrange(startcell, endcell) ایجاد کنید.
  6. برگه کار را با دامنه پر شده به یک فایل Excel صادر کنید.

کد نمونه زیر نشان می‌دهد که چگونه یک ndarray از NumPy را در یک محدوده 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 → datetime پایتون → رشته سازگار با اکسل
        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)

# نمونه‌ای از آرایه 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')]
])

# یک ورک‌بوک جدید ایجاد کنید و اولین برگه را دریافت کنید.
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")
چگونه ndarray NumPy را به Range تبدیل کنیم

چگونه ndarray NumPy را به Range تبدیل کنیم

چگونه ndarray NumPy را به نام (محدوده نام‌گذاری شده) تبدیل کنیم

گاهی اوقات ممکن است بخواهید یک نام معنی‌دار به یک بازه خاص از داده‌ها در اکسل اختصاص دهید. این کار ارجاع به داده‌ها را در فرمول‌ها، نمودارها یا سایر برگه‌های کاری آسان‌تر می‌کند. در این بخش، به شما نشان خواهیم داد که چگونه NumPy را به بازه نام‌گذاری شده اکسل با استفاده از Python و Aspose.Cells تبدیل کنید. با ایجاد یک بازه نام‌گذاری شده، می‌توانید با داده‌های NumPy خود به طور مؤثرتری درون اکسل کار کنید.

مراحل زیر را برای تبدیل یک ndarray NumPy به یک محدوده نامگذاری شده در Excel با استفاده از Aspose.Cells دنبال کنید.

  1. یک آرایه NumPy در پایتون ایجاد کنید.
  2. یک کاربرگ جدید ایجاد کرده و به صفحه‌کار هدف دسترسی پیدا کنید.
  3. از طریق آرایه حلقه بزنید و هر مقدار را در برگه کاری وارد کنید.
  4. محدوده‌ای را که داده‌های وارد شده را پوشش می‌دهد، تعریف کنید.
  5. به آن محدوده نامی اختصاص دهید.
  6. دفتر کار را به عنوان یک فایل اکسل ذخیره کنید.

نمونه کد زیر نشان می‌دهد که چگونه یک ndarray از NumPy را در یک دامنه نام‌گذاری شده در 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]
])

# یک Workbook جدید ایجاد کنید
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)

# مرجع های سلول اکسل را دریافت کنید
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")
چگونه ndarray NumPy را به نام (دامنه نام‌گذاری شده) تبدیل کنیم

چگونه ndarray در NumPy را به نام (محدوده نام‌گذاری شده) تبدیل کنیم

آغاز کار با Aspose.Cells برای پایتون

شما اکنون دیده‌اید که چقدر آسان است که آرایه‌های NumPy را با استفاده از Aspose.Cells به Excel تبدیل کنید. این کتابخانه کنترل کامل بر روی دفترهای کار، برگه‌های کاری، جداول، دامنه‌ها و دامنه‌های نام‌گذاری شده به شما می‌دهد.

در اینجا چند لینک مفید برای بهبود درک شما وجود دارد:

یک لایسنس موقتی رایگان بگیرید و امروز استفاده از Aspose.Cells را آغاز کنید تا داده‌های پایتون شما کاملاً با گردش کارهای اکسل سازگار باشد.

آمار نومی (NumPy) به اکسل: سوالات متداول

Q1: آیا برای استفاده از Aspose.Cells به نصب Microsoft Excel نیاز دارم؟

نه. Aspose.Cells به طور مستقل کار می‌کند. شما نیاز به نصب Excel یا هر نرم‌افزار دیگری ندارید.

Q2: آیا Aspose.Cells می‌تواند آرایه‌های بزرگ NumPy را پردازش کند؟

بله. کتابخانه برای مجموعه‌های داده بزرگ بهینه‌سازی شده و حتی با آرایه‌های بزرگ نیز عملکرد خوبی دارد.

سوال ۳: چه فرمت‌های اکسل پشتیبانی می‌شوند؟

شما می‌توانید داده‌های NumPy خود را به فرمت‌های XLSX، XLS، CSV، ODS و بسیاری دیگر از فرمت‌های صفحه‌گسترده ذخیره کنید.

Q4: آیا می‌توانم سلول‌های اکسل را پس از صادرات داده‌های NumPy فرمت کنم؟

بله. شما می‌توانید استایل‌ها، فرمت‌های عددی، فرمول‌ها را اعمال کرده و حتی نمودارها یا جدول‌های محوری ایجاد کنید.

Q5: آیا نسخه رایگانی از Aspose.Cells وجود دارد؟

بله. شما می‌توانید یک نسخه آزمایشی رایگان دانلود کنید یا برای آزمایش یک مجوز موقت درخواست کنید.

نتیجه گیری

NumPy یک ابزار اصلی برای علم داده و تجزیه و تحلیل عددی در پایتون است، اما گزارش‌گیری در دنیای واقعی غالباً نیازمند اکسل است. با Aspose.Cells برای پایتون از طریق .NET، تبدیل NumPy به اکسل به طرز روان و انعطاف‌پذیری انجام می‌شود. در این راهنما، روش‌های مختلفی را بررسی کردیم: صادرات آرایه‌های NumPy به یک کتابکار کامل، وارد کردن داده‌ها به یک برگه کار، قالب‌بندی به عنوان یک ListObject (جدول اکسل)، نقشه‌برداری آرایه‌ها به یک دامنه و تخصیص آنها به یک دامنه نام‌دار. هر رویکرد هدف منحصر به فردی را دنبال می‌کند. با ترکیب قدرت NumPy با انعطاف‌پذیری Aspose.Cells، می‌توانید به‌طور مؤثر از تجزیه و تحلیل مبتنی بر پایتون به گزارش‌های حرفه‌ای اکسل منتقل شوید و اطمینان حاصل کنید که داده‌های شما هم قابل دسترسی و هم آماده ارائه است.

اگر سوالی دارید، لطفاً در انجمن پشتیبانی free support forum ما آزادانه بپرسید و ما خوشحال خواهیم شد که کمک کنیم.

همچنین ببینید