اکسل و CSV
چرا pandas؟
- برای فایلهای جدولی (CSV، Excel) روش دستی با
open()خیلی دستوپاگیره pandasداده رو بهصورت جدول (DataFrame) میاره که کار باهاش راحتتره
نصب و وارد کردن
pip install pandas openpyxlimport pandas as pd
openpyxlبرای خواندن/نوشتن فایلهای Excel لازمه (pandas از پشت صحنه ازش استفاده میکنه)
خواندن فایل CSV
df = pd.read_csv('data.csv')
print(df)- خروجی از نوع
DataFrameهست — شبیه یک جدول اکسل
خواندن فایل Excel
df = pd.read_excel('data.xlsx')
print(df)- اگه فایل چند شیت داشته باشه، میشه شیت رو مشخص کرد:
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')نگاه سریع به داده
| متد | کار |
|---|---|
df.head() |
نمایش ۵ ردیف اول |
df.shape |
تعداد (ردیف, ستون) |
df.columns |
لیست نام ستونها |
df.info() |
نوع داده هر ستون + تعداد مقادیر |
دسترسی به داده
print(df['name']) # یک ستون
print(df.iloc[0]) # یک ردیف با اندیس عددی
print(df.loc[0, 'name']) # یک سلول خاصفیلتر کردن داده
adults = df[df['age'] >= 18]
print(adults)نوشتن در فایل
df.to_csv('output.csv', index=False)
df.to_excel('output.xlsx', index=False)index=False: ستون اندیس اضافه (0,1,2,…) توی فایل خروجی نوشته نشه
ساخت DataFrame از صفر (بدون فایل ورودی)
data = {
'name': ['Ali', 'Sara'],
'age': [25, 30]
}
df = pd.DataFrame(data)نکته کلاسی
- برای کار سریع و ساده با جدول (فیلتر، مرتبسازی، خروجی گرفتن)، pandas خیلی سریعتر و خواناتر از خواندن دستی خطبهخط فایله؛ ولی برای فایلهای متنی ساده (مثل log) همون روش
open()کافیه.