NumPy هي واحدة من أكثر المكتبات شعبية في بايثون. إنها تدعم علم البيانات، وتعلم الآلة، والتحليل العددي. يستخدم العديد من المطورين مصفوفات NumPy (ndarray) للتعامل مع مجموعات البيانات الكبيرة بسرعة.
في مقالنا السابق، شرحنا كيفية تحويل ملفات Excel إلى مصفوفات NumPy. هذه العملية مفيدة عندما تحتاج إلى جلب بيانات خارجية إلى Python للتحليل. ولكن ماذا لو كنت تريد العكس؟ في كثير من الأحيان، تحتاج إلى تصدير نتائج Python الخاصة بك من NumPy إلى Excel للتقارير والمشاركة. يُستخدم Excel على نطاق واسع في الأعمال والمدارس والمنظمات، مما يجعله التنسيق المثالي للتعاون.
في هذا الدليل، سنوضح لك خطوة بخطوة كيفية تحويل NumPy إلى Excel باستخدام Python و Aspose.Cells for Python عبر .NET.
لماذا تحويل NumPy إلى Excel؟
NumPy مثالي للحسابات والتحليل داخل بايثون. لكننا غالبًا ما نحتاج إلى مشاركة النتائج مع الآخرين. يفضل معظم مستخدمي الأعمال إكسل لأنه مألوف وسهل الاستخدام.
إليك بعض الأسباب الشائعة لماذا قد تحتاج إلى تصدير NumPy إلى Excel:
- تقرير البيانات: تحويل البيانات المعالجة إلى ملفات Excel للمديرين أو العملاء.
- التعاون: شارك النتائج مع زملاء الفريق الذين لا يستخدمون بايثون.
- تحليل الأعمال: دمج نتائج NumPy مع تقارير Excel الحالية ولوحات المعلومات.
- التصور: استخدم مخططات Excel والجداول المحورية لجعل البيانات أكثر معنى.
Excel هو تنسيق عالمي. إنه يتيح التواصل بين مطوري بايثون والمستخدمين غير التقنيين. من خلال تصدير مصفوفات NumPy إلى Excel، تجعل بياناتك متاحة، قابلة للاستخدام، وسهلة الفهم.
Python NumPy مكتبة Excel
Aspose.Cells for Python هي مكتبة جداول بيانات قوية. تتيح لك إنشاء وتحرير ومعالجة ملفات Excel دون الحاجة إلى تثبيت Microsoft Excel. إنها أفضل مكتبة Excel لبايثون، مصممة للمطورين الذين يحتاجون إلى السيطرة الكاملة على مستندات Excel. يمكنك:
- تحميل وحفظ ملفات Excel بتنسيقات مختلفة.
- العمل مع أوراق العمل والجداول والنطاقات والمخططات.
- استيراد وتصدير البيانات من كائنات بايثون، بما في ذلك مصفوفات نُمباي.
- تعامل مع مجموعات البيانات الكبيرة بسرعة ودقة عالية.
أفضل جزء هو أن 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: استيراد المكتبات المطلوبة
في نص برمجة بايثون الخاص بك، استورد NumPy و Aspose.Cells:
import numpy as np
import aspose.cells as cells
الخطوة 3: إنشاء مصفوفة NumPy عينة
للاختبار، أنشئ مصفوفة ثنائية الأبعاد بسيطة:
data = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
الخطوة 4: تعريف دالة مخصصة – insertnumpyarray
تأتي قيم NumPy غالبًا كأنواع مثل numpy.int64 و numpy.float32 أو numpy.bool. تحتاج هذه إلى تحويل إلى أنواع بيثون الأصلية قبل الكتابة في خلايا Excel.
تقوم دالة المساعدة أدناه بإجراء هذا التحويل وتدخل المصفوفة مباشرة إلى ورقة العمل بدءًا من صف وعمود معينين:
# دالة مخصصة لإدراج مصفوفة 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 في Workbook و Worksheet و ListObject و Range و Named Range. تستخدم أمثلة الشيفرة في الأقسام المقبلة وظيفة المساعدة المعرفة في قسم الخطوة 4: الوظيفة المخصصة.
كيفية تحويل مصفوفة NumPy ndarray إلى حافظة Excel
يمكنك إنشاء دفتر عمل Excel كامل من مصفوفة NumPy في بضع سطور فقط. هذه الطريقة مثالية عندما تريد تصدير نتائج تحليل البيانات أو مخرجات التعلم الآلي أو مجموعات البيانات الجدولية إلى ملف Excel احترافي يمكن مشاركته أو معالجته بشكل أكبر.
اتبع الخطوات أدناه لتحويل مصفوفة NumPy ndarray إلى مصنف Excel:
- قم بإنشاء مصفوفة ثنائية الأبعاد باستخدام NumPy مع بياناتك.
- قم بتهيئة دفتر ملاحظات جديد فارغ باستخدام فئة
Workbook. - أضف ورقة عمل جديدة إلى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 ndarray في ورقة العمل
أحيانًا يكون لديك دفتر عمل بالفعل، وتريد فقط إدراج بيانات NumPy في ورقة عمل واحدة.
اتبع الخطوات أدناه لتحويل مصفوفة NumPy ndarray إلى ورقة عمل:
- قم بإنشاء مصفوفة ثنائية الأبعاد باستخدام 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")

كيفية تحويل ndarray من NumPy إلى ورقة عمل
كيفية تحويل مصفوفة NumPy ndarray إلى كائن قائمة (جدول Excel)
جداول Excel (المعروفة أيضًا باسم ListObjects) هي وسيلة قوية لتنظيم وتحليل البيانات. مع Aspose.Cells، يمكنك استيراد مصفوفة NumPy مباشرة إلى ListObject.
يرجى اتباع الخطوات أدناه لتحويل NumPy ndarray إلى ListObject (جدول Excel):
- إنشاء مصفوفة ثنائية الأبعاد باستخدام 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 إلى كائن قائمة (جدول Excel)
تحويل مصفوفة NumPy ndarray إلى نطاق
في بعض الأحيان قد ترغب في وضع مصفوفة NumPy في نطاق محدد من الخلايا. هذه الطريقة مثالية عندما تحتاج إلى وضع دقيق للبيانات داخل أوراق العمل، مثل ملء منطقة جدول محددة مسبقًا أو تصدير نتائج التحليل إلى كتلة خلايا محددة.
اتبع الخطوات أدناه لتحويل مصفوفة NumPy ndarray إلى نطاق:
- إنشاء مصفوفة ثنائية الأبعاد من نوع 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 → 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)
# إنشاء مصفوفة عشوائية باستخدام 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")

كيف تحول NumPy ndarray إلى نطاق
كيفية تحويل مصفوفة NumPy ndarray إلى اسم (نطاق مُسمى)
في بعض الأحيان، قد ترغب في تعيين اسم ذي معنى لنطاق بيانات محدد في إكسل. هذا يجعل من الأسهل الإشارة إلى البيانات في الصيغ، الرسوم البيانية، أو أوراق العمل الأخرى. في هذا القسم، سنعرض لك كيفية تحويل NumPy إلى نطاق مسمى في إكسل باستخدام بايثون و Aspose.Cells. من خلال إنشاء نطاق مسمى، يمكنك العمل مع بيانات NumPy الخاصة بك بشكل أكثر كفاءة داخل إكسل.
اتبع الخطوات أدناه لتحويل مصفوفة NumPy ndarray إلى نطاق مسمى في Excel باستخدام Aspose.Cells
- إنشاء مصفوفة NumPy في بايثون.
- قم بإنشاء مصنف جديد والوصول إلى ورقة العمل المستهدفة.
- قم بالتكرار عبر المصفوفة وأدخل كل قيمة في ورقة العمل.
- حدد نطاقًا يغطي البيانات المستوردة.
- قم بتعيين اسم لهذا النطاق.
- احفظ المصنف كملف 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]
])
# إنشاء دفتر عمل جديد
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")

كيفية تحويل مصفوفة NumPy ndarray إلى اسم (نطاق مسمى)
ابدأ استخدام Aspose.Cells for Python
لقد رأيت الآن كم هو سهل تحويل مصفوفات NumPy إلى Excel باستخدام Aspose.Cells. توفر لك المكتبة السيطرة الكاملة على دفاتر العمل، وأوراق العمل، والجداول، والنطاقات، والنطاقات المسماة.
هنا بعض الروابط المفيدة لتعزيز فهمك:
احصل على ترخيص مؤقت مجاني وابدأ في استخدام Aspose.Cells اليوم لجعل بيانات Python الخاصة بك متوافقة تمامًا مع سير العمل في Excel.
NumPy to Excel: الأسئلة المتداولة
Q1: هل أحتاج إلى تثبيت Microsoft Excel لاستخدام Aspose.Cells؟
لا. يعمل Aspose.Cells بشكل مستقل. ليس من الضروري أن يكون Excel أو أي برنامج آخر مثبتاً.
Q2: هل يمكن لـ Aspose.Cells التعامل مع مصفوفات NumPy كبيرة؟
نعم. المكتبة محسّنة لمجموعات البيانات الكبيرة وتؤدي أداءً جيدًا حتى مع المصفوفات الكبيرة.
Q3: ما هي التنسيقات المدعومة في Excel؟
يمكنك حفظ بيانات NumPy الخاصة بك في تنسيقات جداول البيانات XLSX و XLS و CSV و ODS والعديد من التنسيقات الأخرى.
Q4: هل يمكنني تنسيق خلايا Excel بعد تصدير بيانات NumPy؟
نعم. يمكنك تطبيق الأنماط، وصيغ الأرقام، والمعادلات، بل وإنشاء الرسوم البيانية أو جداول المحورية.
Q5: هل هناك نسخة مجانية من Aspose.Cells؟
نعم. يمكنك تنزيل نسخة تجريبية مجانية أو طلب ترخيص مؤقت للاختبار.
استنتاج
NumPy هي أداة أساسية لعلوم البيانات والتحليل العددي في بايثون، لكن التقارير في العالم الحقيقي غالبًا ما تتطلب Excel. مع Aspose.Cells for Python عبر .NET، يصبح تحويل NumPy إلى Excel سلسًا ومرنًا. في هذا الدليل، استكشفنا طرقًا مختلفة: تصدير مصفوفات NumPy إلى دفتر عمل كامل، إدخال البيانات في ورقة العمل، التنسيق كـ ListObject (جدول Excel)، رسم الخرائط للمصفوفات إلى نطاق، وتعيينها إلى نطاق مسمى. كل نهج يخدم غرضًا فريدًا. من خلال دمج قوة NumPy مع مرونة Aspose.Cells، يمكنك الانتقال بكفاءة من التحليل القائم على بايثون إلى تقارير Excel احترافية، مما يضمن أن بياناتك متاحة وجاهزة للتقديم.
إذا كان لديك أي أسئلة، يرجى عدم التردد في طرحها في منتدى الدعم المجاني، وسنكون سعداء بمساعدتك.
