خواندن فایل اکسل در ژوپیتر نوت بوک برای دانشمندان داده یک امر مهم و حیاتی است. به همین دلیل نیز به آموزش نحوه فراخوانی فایل Excel و CSV در ژوپیتر پرداختهایم.اگرچه به احتمال زیاد، یک دانشمند داده حرفهای، تمام فایلهای خود را در همان محیط ژوپیتر جدولبندی میکند و دیگر نیازی به استفاده از اکسل یا CSV نخواهد داشت.اما گاها پیش میآید که به دلیل استفاده از فایلهای قدیمی و یا دریافت فایلهای اکسل از سایرین و… مجبور به فراخوانی یک فایل اکسل در ژوپیتر نوت بوک خود میشویم:
فراخوانی پاندا
پکیج پاندا یا Pandas یکی از محبوبترین پکیجها در پایتون و طبیعتا در ژوپیتر نوت بوک است. برای کسب اطلاعات بیشتر، مقاله ژوپیتر نوت بوک را مطالعه نمایید.DataFrames پاندا برای ذخیره دادههای 2 بعدی جدولی بسیار مناسب است. در واقع فراخوانی و نوشتن فایلهای CSV، Excel و… از طریق آن صورت میپذیرد.برای فراخوانی پاندا کافیست از طریق دستورالعمل زیر اقدام کنید. کد زیر را در سلول مورد نظر خود در محیط ژوپیتر نوت بوک وارد نمایید و سپس ران کنید:
import pandas as pd
نصب xlrd برای خواندن اکسل
برای فراخوانی یک فایل اکسل با Jupyter Notebook، میتوانیم ابتدا کتابخانه xlrd را نصب کنیم. پانداها معمولا برای فراخوانی فایلهای اکسل به آن نیاز دارند:
pip install xlrd
خواندن فایل اکسل در ژوپیتر نوت بوک
اینک میتوانیم از تابع ()pd.read_excel برای فراخوانی فایل اکسل استفاده نماییم. فقط کافیست نام فایل اکسل و پسوند آن را در میان پرانتز وارد نماییم.
df = pd.read_excel('sample.xlsx')
البته این در صورتی است که قبلا محل حضور فایل را برای پروژه مشخص کرده باشیم. در غیر این صورت باید لوکیشن فایل را نیز در پرانتز بیاورید.برای این کار از ژوپیتر خارج و به محل ذخیره فایل اکسل بر روی دسکتاپ خود بروید. راست کلیک کرده و از گزینه Properties، لوکیشن فایل را کپی نمایید:
df = pd.read_excel('C:\Users\Ferdowsi\Desktop\sample.xlsx')
این دستور را میتوان با افزودن حرف r بلافاصله از پرانتز اول و یا افزودن یک اسلش در کنار هر کدام از این اسلشها نیز اجرا کرد.
df = pd.read_excel(r'C:\Users\Ferdowsi\Desktop\sample.xlsx')
توجه داشته باشید که پس از افزودن هر کدام از این کدها در نوت بوک خود، کد زیر را در خط بعد وارد نمیایید و سپس کلید ران را بفشارید:
print(df)
فراخوانی فایل CSV در ژوپیتر نوت بوک
برای فراخوانی یک فایل CSV در محیط ژوپیتر نیز میتوان از تمام مراحل بالا به طور کامل پیروی نمود. با این تفاوت که دیگر خبری از کلمه و پسوند مربوط به اکسل نیست:
import pandas as pd
df = pd.read_csv('sample.csv')
print(df)
فراخوانی panda در فایل اکسل
برای فراخوانی کتابخانه pandas در یک فایل اکسل با استفاده از زبان برنامهنویسی پایتون، ابتدا باید اطمینان حاصل کنید که پکیجهای مورد نیاز را نصب کردهاید. همچنین، میتوانید از openpyxl
یا xlrd
برای خواندن فایلهای اکسل استفاده کنید.
مرحله 1: نصب کتابخانههای مورد نیاز
اگر هنوز کتابخانههای pandas و openpyxl را نصب نکردهاید، میتوانید این کار را با استفاده از pip انجام دهید:
pip install pandas openpyxl
مرحله 2: وارد کردن کتابخانه pandas و خواندن فایل اکسل
پس از نصب، میتوانید با استفاده از کد زیر، فایل اکسل را فراخوانی کنید:
import pandas as pd
# مسیر فایل اکسل
file_path = 'path_to_your_file.xlsx'
# خواندن فایل اکسل
df = pd.read_excel(file_path)
# نمایش دادهها
print(df)
نکات:
- مسیر فایل: حتماً مسیر فایل اکسل را به درستی مشخص کنید.
- چند برگه: اگر فایل اکسل شما چندین برگه (sheet) دارد، میتوانید برگه خاصی را با استفاده از پارامتر
sheet_name
مشخص کنید:
df = pd.read_excel(file_path, sheet_name='Sheet1') # نام برگه را به جای 'Sheet1' قرار دهید
- پسوند فایل: مطمئن شوید که پسوند فایل شما
.xlsx
یا.xls
باشد تا pandas بتواند آن را به درستی بخواند.
اگر سوال یا مشکل خاصی دارید، لطفاً بفرمایید تا به شما کمک کنم!
فراخوانی NumPy در فایل اکسل
برای فراخوانی و استفاده از کتابخانه NumPy در یک فایل اکسل، معمولاً باید از یک زبان برنامهنویسی مانند Python استفاده کنید. یکی از روشهای معمول برای انجام این کار، استفاده از کتابخانه pandas
برای خواندن و نوشتن دادهها در فایلهای اکسل و همچنین استفاده از NumPy برای انجام محاسبات عددی است.
در ادامه، یک راهنمای ساده برای خواندن دادهها از فایل اکسل، انجام محاسبات با NumPy، و سپس نوشتن نتایج به یک فایل اکسل جدید ارائه میشود.
مراحل کار
- نصب کتابخانه های لازم:
ابتدا مطمئن شوید که کتابخانههایpandas
وopenpyxl
(برای کار با فایلهای اکسل) وnumpy
نصب شده باشد. میتوانید این کار را با استفاده از pip انجام دهید:
pip install pandas openpyxl numpy
- نوشتن کد:
سپس میتوانید کد زیر را برای خواندن دادهها از فایل اکسل و انجام عملیات استفاده کنید.
import pandas as pd
import numpy as np
# خواندن دادهها از فایل اکسل
df = pd.read_excel('input_file.xlsx', sheet_name='Sheet1')
# فرض کنید که شما میخواهید یک ستون را انتخاب کنید
# و محاسباتی روی آن انجام دهید
data = df['ColumnName'].values # ColumnName نام ستونی است که میخواهید انتخاب کنید
# انجام محاسبات با NumPy
mean_value = np.mean(data)
std_dev = np.std(data)
# نتایج را به یک DataFrame جدید اضافه کنید
results = pd.DataFrame({
'Mean': [mean_value],
'Standard Deviation': [std_dev]
})
# نوشتن نتایج به یک فایل اکسل جدید
results.to_excel('output_file.xlsx', index=False)
توضیحات
pd.read_excel()
: این تابع برای خواندن دادهها از فایل اکسل استفاده میشود.values
: برای تبدیل دادهها به آرایه NumPy استفاده میشود.np.mean()
وnp.std()
: توابعی از NumPy برای محاسبه میانگین و انحراف معیار دادهها هستند.pd.DataFrame()
: برای ساختن جدول جدیدی به نام results.to_excel()
: این تابع برای نوشتن دادهها به یک فایل اکسل جدید استفاده میشود.
با استفاده از این روشها، میتوانید عملیات مختلفی را روی دادههای اکسل انجام دهید و نتایج را به سادگی ذخیره کنید.
فراخوانی scipy در فایل اکسل
برای استفاده از کتابخانه SciPy در Python برای کار با دادهها در فایلهای اکسل، میتوانید از کتابخانههای مختلفی مانند pandas
و openpyxl
استفاده کنید. در زیر یک مثال ساده از چگونگی خواندن دادهها از یک فایل اکسل و انجام عملیات با SciPy ارائه میدهم.
ابتدا باید کتابخانههای لازم را نصب کنید. شما میتوانید از pip برای نصب این کتابخانهها استفاده کنید:
pip install pandas openpyxl scipy
سپس میتوانید از کد زیر برای خواندن دادهها از فایل اکسل و انجام محاسبات استفاده کنید:
import pandas as pd
from scipy import stats
# خواندن فایل اکسل
file_path = 'data.xlsx' # نام فایل اکسل خود را وارد کنید
df = pd.read_excel(file_path, engine='openpyxl')
# نمایش دادهها
print(df)
# فرض کنید ما میخواهیم میانگین یک ستون خاص را محاسبه کنیم
# به عنوان مثال، فرض کنید نام ستون «مقدار» است
mean_value = df['مقدار'].mean()
print('میانگین مقدار:', mean_value)
# همچنین میتوانید از SciPy برای انجام آزمون t استفاده کنید
t_stat, p_value = stats.ttest_1samp(df['مقدار'], popmean=0)
print('آماره t:', t_stat)
print('مقدار p:', p_value)
در این مثال:
- ابتدا فایل اکسل را با استفاده از
pandas
میخوانیم. - دادهها را در DataFrame نمایش میدهیم.
- میانگین یک ستون خاص را محاسبه میکنیم.
- از SciPy برای انجام آزمون t استفاده میکنیم.
میتوانید نام ستونها و سایر جزئیات را با توجه به دادههای خود تغییر دهید.
فراخوانی ipywidgets در فایل اکسل
برای استفاده از ipywidgets
در یک فایل اکسل، شما میتوانید به روشهای مختلفی از این کتابخانه برای ایجاد ویجتها و تعامل با دادهها استفاده کنید. در اینجا یک روش ساده برای این کار را بررسی میکنیم:
مراحل کار:
- نصب وابستگیها:
قبل از هرچیز مطمئن شوید کهipywidgets
وopenpyxl
را نصب کردهاید. میتوانید این کار را با استفاده از pip انجام دهید:
pip install ipywidgets openpyxl
- ایجاد یک نوتبوک Jupyter:
به یک نوتبوک Jupyter بروید و کد زیر را برای ایجاد ویجتها و تعامل آنها با دادهها قرار دهید. - نوشتن کد:
در نوتبوک خود، کد زیر را بنویسید:
import pandas as pd
import ipywidgets as widgets
from IPython.display import display
# ایجاد یک DataFrame نمونه
data = {'نام': ['علی', 'مریم', 'احمد'],
'سن': [25, 30, 35]}
df = pd.DataFrame(data)
# تابعی برای نمایش اطلاعات
def show_info(selected_name):
info = df[df['نام'] == selected_name]
print(info)
# ایجاد یک ویجت Dropdown
name_dropdown = widgets.Dropdown(
options=df['نام'].tolist(),
description='انتخاب نام:',
)
# متصل کردن ویجت به تابع
widgets.interactive(show_info, selected_name=name_dropdown)
# نمایش ویجت
display(name_dropdown)
- اجرای نوتبوک:
پس از نوشتن این کد، نوتبوک را اجرا کنید. شما یک Dropdown خواهید دید که با انتخاب یک نام، اطلاعات مربوط به آن در نوتبوک نشان داده میشود.
توجه
بهطور کلی ipywidgets
برای تعامل در محیطهای Jupyter طراحی شده است و در Excel بهصورت مستقیم کار نمیکند. اما میتوانید دادهها را از اکسل بخوانید و با استفاده از pandas
و ویجتها در Jupyter به نمایش بگذارید. اگر نیاز دارید تا کارهای مشابهی در Excel انجام دهید، و میخواهید از قابلیتهای تعاملی استفاده کنید، باید به سراغ ماکروهای VBA یا دیگر ابزارهای Excel بروید.
فراخوانی matplotlib در فایل اکسل
برای فراخوانی و استفاده از کتابخانه matplotlib
در یک فایل Excel، نیاز به استفاده از یک زبان برنامهنویسی مثل Python دارید. میتوانید با استفاده از کتابخانههایی مانند openpyxl
یا xlsxwriter
به ایجاد یا ویرایش فایلهای Excel بپردازید و با استفاده از matplotlib
نمودارها را رسم کنید.
در اینجا یک مثال ساده از چگونگی استفاده از matplotlib
و xlsxwriter
برای اضافه کردن نمودار به یک فایل Excel آورده شده است:
- ابتدا باید کتابخانههای مورد نیاز را نصب کنید. اگر هنوز این کتابخانهها را ندارید، میتوانید از pip استفاده کنید:
pip install matplotlib xlsxwriter
- سپس میتوانید از کد زیر برای ایجاد یک فایل Excel و اضافه کردن نمودار استفاده کنید:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import xlsxwriter
# دادهها را تولید کنید
x = np.linspace(0, 10, 100)
y = np.sin(x)
# نمودار را رسم کنید
plt.figure()
plt.plot(x, y)
plt.title('Sine Wave')
plt.xlabel('X axis')
plt.ylabel('Y axis')
# نمودار را ذخیره کنید
graph_filename = 'sine_wave.png'
plt.savefig(graph_filename)
plt.close()
# یک فایل Excel جدید ایجاد کنید
workbook = xlsxwriter.Workbook('chart_with_matplotlib.xlsx')
worksheet = workbook.add_worksheet()
# تصویری که در بالا ذخیره کردید را به فایل Excel اضافه کنید
worksheet.insert_image('B2', graph_filename)
workbook.close()
در این کد:
- ابتدا یک سینه (نمودار سینوسی) رسم کرده و آن را به عنوان یک تصویر ذخیره میکنیم.
- سپس یک فایل Excel جدید ایجاد کرده و تصویر را به آن اضافه میکنیم.
پس از اجرای این کد، فایلی به نام chart_with_matplotlib.xlsx
در دایرکتوری فعلی شما ایجاد میشود که شامل نمودار ذخیره شده است.
مزایای استفاده از ژوپیتر لب ابر فردوسی
اگرچه این متن درباره نحوه خواندن فایل اکسل در ژوپیتر نوت بوک نگاشته شده است. اما بد نیست کمی نیز درباره مزایای استفاده از ژوپیتر لب بدانید.در واقع میتوان گفت که ژوپیتر لب نسل جدید ژوپیتر نوت بوک است که بر روی سرورهای ابری اجرا میشود. یعنی دیگر محدود به یک کامپیوتر محلی نخواهید بود.از طرفی سرورهای ابری امکانات و منابع قدرتمندتری را نسبت به سیستم های خانگی در اختیار شما قرار میدهند. همچنین قابلیت انعطافپذیری و اشتراکگذاری دارند.شرکت ابر فردوسی ارائه دهنده انواع سرورهای ابری از جمله سرور ژوپیتر لب است. ژوپیتر لب ابر فردوسی با بهترین کارتهای گرافیک و پایین ترین قیمتها در اختیار شماست: