עבודה עם נתוני Excel ב-Python היא דבר נפוץ. זה לרוב כרוך בהעברת נתונים מ-Excel לצורה שניתן לעבד ביעילות. המרת נתוני Excel לפורמט מוכן לניתוח יכולה להיות מסובכת. בפוסט בלוג הזה, תLearn איך להמיר Excel למערכי NumPy בכמה שורות קוד.
Why NumPy?
NumPy (נומריקל פייתון) היא ספריית פייתון פתוחה. היא עמוד השדרה של מדע הנתונים ולמידת מכונה בפייתון. NumPy מספקת פעולות מערך מהירות וחישוב נומרי יעיל. היא פועלת בצורה חלקה עם pandas, TensorFlow ו-scikit-learn. הספרייה תומכת במערכים רב-ממדיים, מטריצות, אלגברה לינארית והמרות פורייה. המערכים משתמשים בזיכרון רציף, מה שהופך אותם ליותר מהירים מרשימות פייתון. מהירות זו עושה את NumPy לכלי מרכזי במדע החישוב ובניתוח נתונים.
Excel נמצא בשימוש נרחב לאחסון דאטאסטים, אך הוא לא מותאם לעבודה עם Python. שיטות ההמרה המסורתיות דורשות לעיתים ספריות נוספות, שלבים מרובים ופענוח ידני. Aspose.Cells מאפשרת לך לייצא נתונים מ Excel, TSV, CSV, ו JSON ישירות למערכי NumPy. זה מחבר בין גליונות אלקטרוניים לכלים מספריים של Python.
What is Aspose.Cells for Python?
Aspose.Cells הוא הספרייה הטובה ביותר ל-Excel עבור Python למפתחים. היא מאפשרת קריאה, יצירה ומניפולציה של גיליונות אלקטרוניים מבלי להסתמך על Microsoft Excel. הגרסה של Python דרך .NET כוללת את גרסת .NET של Aspose.Cells ומחשפת אותה ל-Python. Aspose.Cells מפשטת את התהליך של המרת Excel ל-NumPy. היא מאפשרת לך לייצא ספר עבודה שלם, גיליון עבודה, טווח, שורה, עמודה או אפילו איבר ברשימה ישירות ל-NumPy ndarrays. המשמעות היא שאתה יכול לעבור מקבצי Excel גולמיים לנתונים נקיים, מוכנים לשימוש לניתוח או למידת מכונה עם מינימום מאמץ.
אתה יכול להתקין את זה מ-PyPI:
pip install aspose‑cells‑python
לאחר ההתקנה, ייבאו את הספרייה לצד נומפי:
import aspose.cells as cells
import numpy as np
איך להמיר חוברת עבודה של Excel ל- NumPy
חוברת עבודה עשויה לכלול גליונות עבודה מרובים. ניתן לייצא חוברת עבודה שלמה של Excel ל- NumPy ndarray בבת אחת. זה נוח כאשר רוצים לעבד נתונים מכל הגליונות ישירות ב-Python.
עקוב אחר הצעדים למטה כדי להמיר חוברת עבודה של Excel למערך ndarry של NumPy:
- טען את חוברת העבודה של Excel באמצעות מחלקת
Workbook. - גשת לכל גיליונות העבודה מתוך חוברת העבודה.
- לעבור דרך כל גיליון אלקטרוני לקרוא את השורות והעמודות בשימוש.
- להוציא ערכי תאים שורה אחר שורה.
- אחסן את הנתונים של כל גיליון ברשימה של רשימות.
- המיר את הנתונים שנאספו למערך NumPy באמצעות np.asarray().
כאן יש סקריפט פייתון מפושט שמייצא חוברת עבודה לדוגמה:
import aspose.cells as cells
import numpy as np
# לטעון חוברת עבודה
workbook = cells.Workbook("sample_data.xlsx")
sheets = workbook.worksheets
# הכן רשימה ריקה כדי להכיל את נתוני הגיליון
sheets_data = []
# לולאה דרך גיליונות עבודה
for sheet in sheets:
# sheet = workbook.worksheets.get(sheetindex)
sheet_cells = sheet.cells
max_row = sheet_cells.max_data_row + 1 # number of populated rows
max_col = sheet_cells.max_data_column + 1 # number of populated columns
sheet_rows = []
for r in range(max_row):
row_values = []
for c in range(max_col):
cell = sheet_cells.check_cell(r, c)
row_values.append(cell.value if cell else "")
sheet_rows.append(row_values)
sheets_data.append(sheet_rows)
# המר.convert ל- ndarray עם dtype=object כדי לשמר מחרוזות
excel_array = np.asarray(sheets_data, dtype=object)
print(excel_array)

איך להמיר חוברת עבודה של Excel ל-NumPy
הסרגל הזה מחליף כל תאות ריקות במיתרים ריקים ומשלב את כל הגליונות למערך NumPy אחד. המערך excelarray הסופי הוא תלת ממדי: הרמה הראשונה מייצגת גליונות, הרמה השנייה מייצגת שורות, והרמה השלישית מייצגת עמודות.
[[['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
לפעמים, ייתכן שתרצה לעבוד עם גיליון עבודה יחיד במקום עם חוברת עבודה שלמה. אתה יכול לחלץ ישירות את ערכי התאים של גיליון עבודה אחד ולהמיר אותם ל- NumPy ndarray על ידי ביצוע הצעדים הבאים:
- טען את קובץ ה-Excel עם מחלקת
Workbook. - גישה לגיליון היעד באמצעות האינדקס שלו.
- קבל את השורות והעמודות בשימוש המרביות.
- לולא דרך כל שורה ועמודה כדי לאסוף ערכי תאים.
- אחסן את הנתונים שנשלפו ברשימה.
- המירו את הרשימה ל- NumPy ndarray עם np.asarray().
זהו הסקריפט של פייתון שמייצא גיליון עבודה אחד:
import aspose.cells as cells
import numpy as np
# לטעון חוברת עבודה
workbook = cells.Workbook("sample_data.xlsx")
# גשת לגיליון העבודה הראשון
sheet = workbook.worksheets[0]
# get max rows and columns with data
max_row = sheet.cells.max_data_row + 1
max_col = sheet.cells.max_data_column + 1
# extract data
rows = []
for r in range(max_row):
row_values = []
for c in range(max_col):
cell = sheet.cells.check_cell(r, c)
row_values.append(cell.value if cell else "")
rows.append(row_values)
# להמיר ל ndarray של numpy
worksheet_array = np.asarray(rows, dtype=object)
print(worksheet_array)
זה יוצר ndarray דו-ממדי שבו השורות מתאימות לשורות Excel והעמודות מתאימות לעמודות Excel.
[['City' 'Region' 'Store']
['Chicago' 'Central' '3055']
['New York' 'East' '3036']
['Detroit' 'Central' '3074']]
איך להמיר טווח של Excel ל- NumPy
במקרים מסוימים, אתה זקוק רק לטווח ספציפי של תאים. Aspose.Cells מאפשרת לך להגדיר טווח ולייצא אותו ישירות ל- NumPy ndarray.
עקוב אחרי הצעדים למעלה:
- טען את חוברת העבודה עם מחלקת
Workbook. - בחר את גיליון העבודה המטרה.
- הגדר טווח באמצעות המתודה
worksheet.cells.createrange(). - לולאה דרך השורות והעמודות של הטווח כדי להוציא ערכים.
- ממיר את הערכים ל- NumPy ndarray באמצעות np.asarray().
הדוגמה הבאה לקוד מראה כיצד להמיר טווח תאים מ-Excel ל- NumPy ndarray:
import aspose.cells as cells
import numpy as np
# לטעון חוברת עבודה
workbook = cells.Workbook("sample_data.xlsx")
# בחר גיליון עבודה ראשון
sheet = workbook.worksheets.get(0)
# מגדיר טווח (B1 עד C3)
cell_range = sheet.cells.create_range("B1", "C3")
# extract data from range
range_data = []
for r in range(cell_range.row_count):
row_values = []
for c in range(cell_range.column_count):
cell = sheet.cells.check_cell(r, c)
row_values.append(cell.value if cell else "")
range_data.append(row_values)
# להמיר ל- ndarray של numpy
range_array = np.asarray(range_data, dtype=object)
print(range_array)
אם הטווח שנבחר מכסה שני עמודים ושלושה שורות, המערך התוצאה יהיה 3×2, כגון:
[['City' 'Region']
['Chicago' 'Central']
['New York' 'East']]
ממיר טבלת Excel (ListObject) ל- NumPy
טבלת Excel היא טווח מסודר של נתונים עם כותרות ושורות. ב- Aspose.Cells, זה מיוצג כ- ListObject. אתה יכול בקלות לייצא את התוכן של טבלת Excel ל- NumPy ndarray עבור עיבוד נוסף ב- Python.
- טען את חוברת העבודה ובחר את גיליונת העבודה.
- גש לרשימת האובייקטים (טבלת Excel) מהגיליון.
- ייצא את נתוני הטבלה למערך דו ממדי.
- המירו את המערך ל- NumPy ndarray.
- השתמש ב- ndarray עבור מדעי הנתונים או תהליכי למידת מכונה.
הדוגמה הקודמת מציגה כיצד לייצא טבלה של Excel (ListObject) ל-NumPy:
import aspose.cells as cells
import numpy as np
# טען קובץ Excel
workbook = cells.Workbook("sample_data.xlsx")
sheet = workbook.worksheets.get(0)
# Create a table covering A1:C4 with headers
index = sheet.list_objects.add("A1", "C4", True)
table = sheet.list_objects[index]
rows = []
for r in range(table.start_row, table.end_row + 1):
row_vals = []
for c in range(table.start_column, table.end_column + 1):
cell = sheet.cells.check_cell(r, c)
row_vals.append(cell.value if cell else "")
rows.append(row_vals)
list_object_array = np.asarray(rows, dtype=object)
print(list_object_array)
המערך NumPy ndarray الناتج יכיל את השורות והעמודות של טבלת Excel, כולל כותרות אם הן חלק מטווח הנתונים.
[['City', 'Region', 'Store'],
['Chicago', 'Central', '3055'],
['New York', 'East', '3036'],
['Detroit', 'Central', '3074']]
איך להמיר שורה של אקסל ל-NuPy
לפעמים אתה רק צריך נתונים משורה אחת באקסל. Aspose.Cells עושה את זה פשוט לחלץ שורה אחת ולטעון אותה ישירות לתוך ndarray של NumPy.
- טען את חבילת העבודה של Excel.
- בחר את גיליון העבודה.
- בחר את אינדקס השורה שברצונך לייצא.
- ייצא את ערכי השורה כמערך.
- המירו את המערך ל ndarray של NumPy לצורך עיבוד.
הקוד הבא בפייתון מראה כיצד להמיר שורה בגיליון Excel למערך NumPy:
import aspose.cells as cells
import numpy as np
# טען קובץ Excel
workbook = cells.Workbook("sample_data.xlsx")
sheet = workbook.worksheets.get(0)
sheet_cells = sheet.cells
max_col = sheet_cells.max_data_column + 1
# בחר שורה (למשל, שורת הנתונים האחרונה)
row_index = sheet_cells.max_data_row
row_vals = []
for c in range(max_col):
cell = sheet_cells.check_cell(row_index, c)
row_vals.append(cell.value if cell else "")
row_array = np.asarray(row_vals, dtype=object)
print(row_array)
המערך NumPy ndarray שייווצר יהיה מערך חד-ממדי שיכלול את כל הערכים מהשורה שנבחרה.
['Detroit' 'Central' 3074]
להמיר עמודה של Excel ל- NumPy
במקרים מסוימים, ייתכן שתצטרך רק ערכים מעמודה אחת של גיליון Excel. Aspose.Cells מאפשרת לך לייצא עמודה בקלות ולהמיר אותה ל- NumPy ndarray.
- טען את חבילת העבודה של Excel.
- בחר את גיליון העבודה המטרה.
- בחר את אינדקס העמודה ליצוא.
- Export the column values.
- המיר את הערכים ל ndarray של NumPy.
הקוד הבא בשפת Python מראה כיצד להמיר עמודה בגיליון Excel ל- NumPy ndarray:
import aspose.cells as cells
import numpy as np
# טעינת קובץ Excel
workbook = cells.Workbook("D:\\Files\\sample_data.xlsx")
sheet = workbook.worksheets.get(0)
sheet_cells = sheet.cells
max_row = sheet_cells.max_data_row + 1
# בחר עמודה (למשל, עמודת הנתונים האחרונה)
col_index = sheet_cells.max_data_column
col_vals = []
for r in range(max_row):
cell = sheet_cells.check_cell(r, col_index)
col_vals.append(cell.value if cell else "")
column_array = np.asarray(col_vals, dtype=object)
print(column_array)
המערך של NumPy ndarray שיתקבל יהיה מערך חד-ממדי המכיל את כל הערכים מהעמודה הנבחרת.
['Store' 3055 3036 3074]
טיפים לעבודה עם Aspose.Cells ו-NumPy
שקול את הזיכרון: המרת גיליונות עבודה מאוד גדולים למערכי NumPy יכולה לחלוץ זיכרון משמעותי. עבד עם גיליונות בנפרד או קרא טווחים ספציפיים אם אפשר.
סוגי נתונים: אם הגיליון שלך מכיל סוגים מעורבים (מחרוזות, מספרים, תאריכים), ציין dtype=object כאשר אתה ממיר רשימות למערכי NumPy. עבור נתוני מספרים הומוגניים תוכל לתת ל-NumPy להסיק את הסוג.
ערכים חסרים: Aspose.Cells מחזירה None עבור תאים ריקים. בדוגמאות למעלה החלפנו אותם במחרוזות ריקות. אתה יכול גם להחליף ב- np.nan או בערך סנטינל אחר בהתאם לשימוש שלך.
קבל רישיון חינם
האם אתה רוצה לחקור את כל הכוחות של Aspose.Cells עבור Python? אתה יכול לבקש רישיון חינמי זמני.זה מאפשר לך לבדוק את כל הפיצ’רים ללא הגבלות או תו מים להערכה.
עם רישיון זמני, אתה יכול:
- עבודה עם קבצי Excel גדולים.
- Apply advanced formatting and styling.
- בצע המרות (לדוגמה, Excel ל-PDF, NumPy, ועוד).
זו הדרך הטובה ביותר להעריך ביצועים והתאמה עם הפרויקטים שלך לפני קבלת החלטת רכישה.
משאבים שימושיים
הנה כמה משאבים יקרים שיסייעו לך להתחיל עם Aspose.Cells עבור Python דרך .NET:
סיכום
Aspose.Cells עבור Python דרך .NET מפשטת את המרת נתוני Excel למערכים של NumPy. בין אם אתה זקוק לכל חוברת העבודה, דף אחד, טווח ספציפי, טבלה, שורה או עמודה, הספרייה מספקת שיטות ברורות לעבור על תאים ולבנות רשימות ש-NumPy יכול לצרוך. על ידי שילוב היכולת של Aspose.Cells לקרוא פורמטים רבים של גיליונות אלקטרוניים עם העוצמה המספרית של NumPy, אתה יכול לשלב נתוני Excel בצורה חלקה בצנורות הנתונים של Python שלך.
אם יש לך שאלות כלשהן, נא אל תהסס לשאול בפורום התמיכה ה חינמי שלנו, ואנו נשמח לעזור.
