خواندن فایل CSV با Pandas در پایتون
در این بخش به بررسی نحوه خواندن فایل CSV با Pandas در پایتون می پردازیم، پایتون بهعنوان یکی از زبانهای برنامهنویسی محبوب، ابزارهای متعددی را برای تجزیه و تحلیل دادهها ارائه میدهد. یکی از این ابزارها، کتابخانه قدرتمند Pandas است که بهطور گسترده در میان دانشمندان داده و تحلیلگران استفاده میشود. یکی از قابلیتهای مهم و پرکاربرد Pandas، امکان کار با فایلهای CSV است. فایلهای CSV که مخفف “Comma-Separated Values” هستند، یکی از رایجترین قالبها برای ذخیره دادهها محسوب میشوند و در بسیاری از پروژهها بهکار میروند، از ذخیرهسازی دادههای خام گرفته تا انتقال داده بین سیستمها.
در این مقاله، ما به بررسی نحوه استفاده از Pandas برای خواندن فایلهای CSV میپردازیم. در این مسیر، علاوه بر معرفی دستورات کلیدی، مثالهای کاربردی را ارائه خواهیم داد تا بتوانید مفاهیم را بهتر درک کنید و از آنها در پروژههای خود استفاده کنید. همچنین نکات مهم و مشکلات رایجی که ممکن است در هنگام کار با فایلهای CSV با آنها مواجه شوید را نیز بررسی خواهیم کرد.
مفهوم فایلهای CSV و کاربردهای آن
تعریف فایل CSV
فایلهای CSV فایلهای متنی سادهای هستند که دادهها را به صورت جدولمانند ذخیره میکنند. در این فایلها، هر خط نشاندهنده یک ردیف از دادهها است و مقادیر در هر ردیف با کاما (یا دیگر جداکنندهها) از هم جدا شدهاند. به عنوان مثال:
نام,سن,شهر
علی,۲۵,تهران
سمیرا,۳۰,شیراز
این فرمت به دلیل سادگی و تطبیقپذیری بالا در بسیاری از ابزارها و سیستمها، بهویژه در انتقال دادهها، استفاده میشود.
چرا از Pandas برای خواندن CSV استفاده کنیم؟
کتابخانه Pandas با ارائه تابعهای متعدد، مانند read_csv
و to_csv
، کار با فایلهای CSV را به شکل قابلتوجهی آسانتر میکند. این ابزار قابلیتهایی مانند فیلتر کردن دادهها، مرتبسازی، محاسبات آماری و دستکاری ساختار دادهها را فراهم میکند.
خواندن فایل CSV با Pandas
تابع read_csv
تابع اصلی برای خواندن فایلهای CSV در Pandas، تابع read_csv
است. این تابع بسیار انعطافپذیر است و گزینههای مختلفی برای سفارشیسازی خواندن فایلها ارائه میدهد. برای استفاده از آن، ابتدا باید Pandas را نصب کرده و سپس آن را در کد خود ایمپورت کنید:
import pandas as pd
خواندن یک فایل ساده
برای خواندن یک فایل CSV ساده که شامل ستونهای استاندارد و دادههای تمیز است، کافی است نام فایل را به تابع read_csv
بدهید:
df = pd.read_csv('data.csv')
print(df)
در این مثال، فایل data.csv
خوانده شده و به یک DataFrame تبدیل میشود که ساختار اصلی دادهها در Pandas است.
مثال عملی
فرض کنید فایل students.csv
بهصورت زیر باشد:
نام,سن,نمره
علی,۲۵,۸۰
سمیرا,۳۰,۹۰
رضا,۲۲,۷۵
کد زیر را اجرا کنید:
df = pd.read_csv('students.csv')
print(df)
خروجی:
نام سن نمره
0 علی 25 80
1 سمیرا 30 90
2 رضا 22 75
تنظیمات پیشرفته در read_csv
مشخص کردن جداکننده
بهطور پیشفرض، read_csv
فرض میکند که جداکننده مقادیر در فایل، کاما است. اگر فایل شما از جداکننده دیگری استفاده میکند (مثلاً نقطهویرگول)، میتوانید از آرگومان sep
استفاده کنید:
df = pd.read_csv('data.csv', sep=';')
تعیین سرستونها
در صورتی که فایل شما شامل سرستون نیست، میتوانید از آرگومان header
استفاده کنید:
df = pd.read_csv('data.csv', header=None)
df.columns = ['نام', 'سن', 'نمره']
انتخاب ستونهای خاص
اگر فقط به برخی از ستونها نیاز دارید، میتوانید از آرگومان usecols
استفاده کنید:
df = pd.read_csv('data.csv', usecols=['نام', 'نمره'])
مدیریت دادههای نامعتبر یا گمشده
شناسایی دادههای گمشده
دادههای گمشده معمولاً با مقادیر NaN
در Pandas نشان داده میشوند. میتوانید فایل CSV را با مدیریت مقادیر گمشده بخوانید:
df = pd.read_csv('data.csv', na_values=['?', 'N/A', 'NA'])
حذف دادههای گمشده
برای حذف ردیفهایی که شامل دادههای گمشده هستند:
df = df.dropna()
جایگزینی مقادیر گمشده
برای جایگزینی مقادیر گمشده با یک مقدار مشخص:
df = df.fillna(0)
نوشتن دادهها در فایل CSV
Pandas امکان نوشتن دادهها در فایلهای CSV را نیز فراهم میکند. با استفاده از تابع to_csv
میتوانید دادهها را بهراحتی ذخیره کنید:
df.to_csv('output.csv', index=False)
آرگومان index=False
تضمین میکند که شماره ردیفها ذخیره نشود.
مشکلات رایج و راهحلها
مشکل در خواندن فایلهای حجیم
برای خواندن فایلهای بسیار بزرگ، میتوانید از آرگومان chunksize
استفاده کنید:
for chunk in pd.read_csv('large_data.csv', chunksize=1000):
process(chunk)
نمایش کاراکترهای غیرمجاز
اگر فایل شما شامل کاراکترهای خاص است، ممکن است نیاز باشد encoding فایل را مشخص کنید:
df = pd.read_csv('data.csv', encoding='utf-8')
استفاده از Pandas برای کار با فایلهای CSV یکی از ضروریترین مهارتها برای تحلیل داده است. این کتابخانه قابلیتهای گستردهای برای خواندن، پردازش، و نوشتن دادهها ارائه میدهد و کار را برای کاربران آسانتر میکند. با تسلط بر تابعهای read_csv
و to_csv
و تنظیمات مختلف آنها، میتوانید پروژههای دادهمحور خود را با سرعت و دقت بیشتری انجام دهید.
منابع
- مستندات رسمی Pandas: https://pandas.pydata.org/docs
- کتاب Python for Data Analysis نوشته ویس مککینی
آیا این مطلب برای شما مفید بود ؟