
روز ۴۱ آموزش پایتون: کار با CSV و Excel با csv و pandas
در دنیای واقعی برنامه نویسی، دادهها به اشکال مختلفی ذخیره میشوند و یکی از رایجترین فرمتها برای ذخیره و انتقال دادهها، فایلهای CSV و Excel هستند. کار با این فایلها در پروژههای واقعی بسیار اهمیت دارد زیرا اکثر سیستمها و کاربران دادههای خود را به این شکل نگهداری میکنند. در این جلسه، میخواهیم با دو ابزار اصلی پایتون یعنی ماژول داخلی csv و کتابخانه قدرتمند pandas آشنا شویم تا بتوانیم دادهها را بخوانیم، پردازش کنیم، تحلیل نماییم و حتی در صورت نیاز به فایلهای جدید خروجی بگیریم. این مهارت برای تحلیل دادهها، تولید گزارشهای مدیریتی و پروژههای دادهمحور بسیار حیاتی است.
کار با فایلهای CSV با ماژول csv
ابتدا به سراغ ماژول داخلی csv میرویم که برای کار با فایلهای متنی با فرمت جدولبندی شده کاربرد دارد. این ماژول به شما اجازه میدهد فایل را بخوانید، ردیفها را پردازش کنید و دادههای جدید در آن اضافه نمایید. ماژول csv برای پروژههای ساده و فایلهای کوچک مناسب است و به راحتی میتوان با آن کار کرد بدون اینکه نیاز به نصب پکیج اضافی داشته باشید. خواندن فایل CSV با این ماژول بسیار ساده است و میتوان آن را با حلقهها و توابع ترکیب کرد تا خروجی دلخواه دریافت شود.
نمونه کد خواندن فایل CSV با csv:
import csv
with open("data.csv", newline='', encoding="utf-8") as csvfile:
reader = csv.reader(csvfile)
for row in reader:
print(f"Name: {row[0]}, Age: {row[1]}, Email: {row[2]}")در این مثال، فایل CSV شامل ستونهای نام، سن و ایمیل است و با استفاده از حلقه، هر ردیف خوانده و چاپ میشود. توجه داشته باشید که میتوان از csv.DictReader نیز استفاده کرد تا به جای اندیسها، با نام ستونها کار کنید که خوانایی کد را افزایش میدهد.
پردازش فایلهای بزرگ و Excel با pandas
وقتی با دادههای بزرگ یا فرمتهای پیچیده مانند Excel مواجه میشویم، استفاده از کتابخانه pandas ضروری میشود. pandas امکان خواندن فایلهای CSV و Excel را با چند خط کد فراهم میکند و قابلیتهای قدرتمندی برای فیلتر کردن، گروهبندی، جمعبندی و تحلیل دادهها ارائه میدهد. همچنین این کتابخانه امکان نوشتن دادههای پردازش شده به فایل CSV یا Excel جدید را نیز فراهم میکند و برای پروژههای واقعی که نیاز به تحلیل داده دارند، ابزاری بسیار حرفهای است.
نمونه کد خواندن CSV با pandas:
import pandas as pd
df = pd.read_csv("data.csv")
print(df.head())نمونه کد خواندن فایل Excel با pandas:
df_excel = pd.read_excel("data.xlsx", sheet_name="Sheet1")
print(df_excel.info())در این مثالها، دادهها به صورت DataFrame خوانده میشوند که ساختاری شبیه جدول SQL دارد و میتوانیم با متدهایی مثل head(), info(), describe() دادهها را بررسی و تحلیل کنیم. این ابزارها امکان پردازش حرفهای دادهها بدون پیچیدگی زیاد را فراهم میکنند.
فیلتر، جستجو و پردازش دادهها
یکی از قدرتهای pandas، قابلیت جستجو و فیلتر دادهها است. میتوانیم ردیفها را بر اساس شرایط خاص انتخاب کنیم، ستونها را پردازش کنیم و حتی دادههای ترکیبی بسازیم. این قابلیتها باعث میشود پروژههای واقعی که شامل آنالیز داده، گزارشگیری و پاکسازی دادهها هستند، با سرعت و دقت بالا انجام شوند. همچنین میتوان دادهها را گروهبندی کرده و تحلیلهای آماری ساده تا پیچیده روی آنها انجام داد.
نمونه کد فیلتر و پردازش:
# فیلتر کاربران بالای ۳۰ سال
adults = df[df["Age"] > 30]
print(adults)
# اضافه کردن ستون جدید
df["Email_Provider"] = df["Email"].apply(lambda x: x.split("@")[1])
print(df.head())در این بخش، ما کاربران بالای ۳۰ سال را فیلتر کردیم و یک ستون جدید استخراج دامنه ایمیلها را اضافه کردیم. این نوع پردازشها در پروژههای واقعی برای تحلیل داده و آمادهسازی گزارشها ضروری هستند.
ذخیره دادههای پردازش شده
پس از پردازش دادهها، میتوانیم آنها را دوباره به فایل CSV یا Excel خروجی بگیریم تا استفاده بعدی داشته باشیم یا برای سیستمهای دیگر ارسال کنیم. این قابلیت باعث میشود دادهها همواره در دسترس و قابل استفاده باشند و فرایند تحلیل داده کامل شود.
نمونه کد ذخیره DataFrame به CSV و Excel:
df.to_csv("processed_data.csv", index=False)
df.to_excel("processed_data.xlsx", index=False)با این روش، دادههای پردازش شده ذخیره میشوند و آماده استفاده در سایر پروژهها یا گزارشها هستند. این تکنیک برای تولید خروجی استاندارد و قابل اشتراکگذاری در محیطهای کاری بسیار مهم است.
جمعبندی و تمرین عملی
در روز ۴۱، یاد گرفتیم چگونه با ماژول csv و کتابخانه pandas فایلهای CSV و Excel را بخوانیم، پردازش کنیم و خروجی بگیریم. این مهارت یکی از پایههای اصلی کار با داده در پایتون است و در پروژههای واقعی برای تحلیل دادهها، تولید گزارشها و پاکسازی دادهها کاربرد دارد. توصیه میشود با تمرین روی فایلهای مختلف، قابلیتهای فیلتر، گروهبندی، اضافه کردن ستون و ذخیره مجدد را بررسی کنید تا تسلط کامل پیدا کنید و بتوانید در پروژههای واقعی از آن استفاده کنید.