اگر به دنبال راهی ساده و سریع برای خواندن و فیلتر کردن اطلاعات از فایلهای Excel با استفاده از پایتون هستید، این مقاله دقیقاً برای شماست! پایتون با برخورداری از کتابخانههای قدرتمندی مانند pandas، یکی از بهترین ابزارها برای کار با دادهها محسوب میشود. در این راهنما، مرحلهبهمرحله یاد میگیرید که چگونه فایلهای Excel را بخوانید، دادهها را بررسی و تمیز کنید و اطلاعات موردنظر را فیلتر کرده و ذخیره نمایید. چه تازهکار باشید و چه حرفهای، تکنیکهایی که در این آموزش ارائه میشود، کار شما را در مدیریت و تحلیل دادهها بسیار سادهتر میکند.

چرا پایتون برای کار با فایلهای Excel؟
پایتون یک زبان برنامهنویسی قدرتمند و همهکاره است که با کتابخانههایی مانند pandas و openpyxl، کار با فایلهای Excel را به فرآیندی ساده و لذتبخش تبدیل میکند. چه بخواهید دادههای فروش را تحلیل کنید، چه گزارشهای دقیق بسازید یا فقط به خواندن و فیلتر کردن اطلاعات خاصی از میان دادهها بپردازید، پایتون این کار را با سرعت و دقت انجام میدهد. در این مقاله تمرکز ما روی کتابخانهی pandas است، چراکه هم استفاده آسانی دارد و هم امکانات گستردهای برای مدیریت و پردازش دادهها در اختیار شما میگذارد.
پیشنیازها
قبل از شروع، مطمئن شوید که موارد زیر را دارید:
- پایتون: نسخه 3.6 یا بالاتر روی سیستم شما نصب باشد.
- کتابخانه pandas: برای نصب آن، میتوانید از دستور زیر در ترمینال یا خط فرمان استفاده کنید:
pip install pandas openpyxl
کتابخانه openpyxl برای خواندن فایلهای Excel با فرمت .xlsx لازم است.
- فایل Excel: یک فایل Excel نمونه (مثلاً data.xlsx) با دادههایی که میخواهید فیلتر کنید.
قدم اول: خواندن فایل Excel با pandas
برای شروع فرایند خواندن و فیلتر کردن اطلاعات، ابتدا باید فایل Excel موردنظر را با استفاده از کتابخانه pandas وارد برنامه کنیم. فرض کنید فایل Excel ما شامل اطلاعات فروش یک فروشگاه است و ستونهایی مانند نام محصول، دستهبندی، قیمت و تعداد فروش دارد. با استفاده از کد زیر، میتوانیم این فایل را بخوانیم و دادهها را بهصورت جدول (DataFrame) مشاهده کنیم:
import pandas as pd
# خواندن فایل Excel
df = pd.read_excel('data.xlsx')
# نمایش چند ردیف اول دادهها
print(df.head())Pythonتابع pd.read_excel() فایل Excel را میخواند و آن را به یک DataFrame (ساختار دادهای شبیه به جدول) تبدیل میکند. تابع head() هم پنج ردیف اول دادهها را نمایش میدهد تا مطمئن شوید فایل درست خوانده شده است.
نکته حرفهای:
اگر فایل شما چندین شیت دارد، میتوانید با استفاده از پارامتر sheet_name شیت موردنظر را مشخص کنید:
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')Pythonقدم دوم: بررسی و تمیز کردن دادهها
قبل از اینکه به خواندن و فیلتر کردن اطلاعات بپردازیم، لازم است ابتدا دادههای موجود در فایل Excel را بررسی کنیم. گاهی اوقات این فایلها ممکن است شامل مقادیر ناقص یا فرمتهای نادرست باشند که میتواند بر نتایج نهایی تأثیر بگذارد. با استفاده از دستورات زیر میتوانید ساختار کلی دادهها را تحلیل کرده و از صحت آنها مطمئن شوید
# نمایش اطلاعات کلی DataFrame
print(df.info())
# نمایش آمار توصیفی
print(df.describe())Pythonتابع info() نوع دادههای هر ستون و تعداد مقادیر غیرخالی را نشان میدهد. تابع describe() هم آمارهایی مثل میانگین، حداقل و حداکثر را برای ستونهای عددی محاسبه میکند.
اگر دادههای گمشدهای دارید، میتوانید با کد زیر آنها را حذف کنید:
# حذف ردیفهایی که داده گمشده دارند
df = df.dropna()Pythonقدم سوم: فیلتر کردن دادهها
حالا که مرحلهی خواندن و فیلتر کردن اطلاعات را آغاز کردهایم و دادهها را بهدرستی وارد کردهایم، نوبت به فیلتر کردن آنها بر اساس شرایط خاص میرسد. فرض کنید میخواهیم فقط محصولاتی را ببینیم که در دستهبندی “الکترونیک” قرار دارند و قیمت آنها بیشتر از ۱۰۰,۰۰۰ تومان است. با استفاده از کد زیر، بهراحتی میتوانیم این فیلتر را اعمال کنیم و دادههای مرتبط را استخراج کنیم:
# فیلتر کردن دادهها
filtered_df = df[(df['دستهبندی'] == 'الکترونیک') & (df['قیمت'] > 100000)]
# نمایش دادههای فیلتر شده
print(filtered_df)Pythonدر اینجا، ما از عملگرهای منطقی (& برای “و”، | برای “یا”) استفاده کردیم تا شرایط را ترکیب کنیم. نتیجه یک DataFrame جدید است که فقط ردیفهای مطابق با شرایط ما را نشان میدهد.
فیلترهای پیشرفتهتر
اگر بخواهید دادهها را بر اساس چند شرط پیچیدهتر فیلتر کنید، مثلاً محصولاتی که تعداد فروش آنها بین 50 تا 100 است، میتوانید از متد between() استفاده کنید:
filtered_df = df[df['تعداد فروش'].between(50, 100)]Pythonیا اگر بخواهید محصولاتی را پیدا کنید که نامشان شامل کلمه “گوشی” باشد:
filtered_df = df[df['نام محصول'].str.contains('گوشی', na=False)]Pythonپارامتر na=False از خطاهایی که ممکن است به دلیل مقادیر گمشده رخ دهد، جلوگیری میکند.
قدم چهارم: ذخیره نتایج
بعد از فیلتر کردن، میتوانید نتایج را در یک فایل Excel جدید ذخیره کنید:
# ذخیره دادههای فیلتر شده در فایل جدید
filtered_df.to_excel('filtered_data.xlsx', index=False)Pythonپارامتر index=False باعث میشود شماره ردیفها در فایل ذخیره نشود تا خروجی تمیزتری داشته باشید.
نکات اضافی برای جذابتر کردن کار با دادهها
- مرتبسازی دادهها: اگر میخواهید نتایج را بر اساس یک ستون خاص مرتب کنید:
sorted_df = filtered_df.sort_values(by='قیمت', ascending=False)
گروهبندی دادهها: برای جمعبندی دادهها، مثلاً محاسبه مجموع فروش هر دستهبندی:
grouped_df = df.groupby('دستهبندی')['تعداد فروش'].sum()
print(grouped_df)
ویژوالسازی: با استفاده از کتابخانه matplotlib میتوانید دادههای فیلتر شده را به صورت نمودار نمایش دهید:
import matplotlib.pyplot as plt
filtered_df['قیمت'].plot(kind='hist', title='هیستوگرام قیمتها')
plt.show()Pythonنتیجهگیری
خواندن و فیلتر کردن دادههای Excel با پایتون به کمک کتابخانه pandas نه تنها ساده است، بلکه میتواند کارهای تکراری و زمانبر را به شدت سریعتر کند. با چند خط کد، میتوانید دادهها را بخوانید، فیلتر کنید، مرتب کنید و حتی نتایج را ذخیره یا تجسم کنید. حالا که این تکنیکها را یاد گرفتید، وقت آن است که دست به کار شوید و دادههای خودتان را تحلیل کنید! اگر سوال یا نکتهای دارید، در بخش نظرات با ما به اشتراک بگذارید.