خواندن CSV (Read CSV)
در این صفحه با خواندن CSV با pandas آشنا می شوی. فایل CSV مثل جدول ساده ای است که ستون ها را با ویرگول جدا می کند و برای نگه داشتن داده های زیاد خیلی پرکاربرد است.
آشنایی با خواندن CSV با pandas
در منبع گفته شده یک راه ساده برای ذخیره مجموعه داده های بزرگ، استفاده از فایل های CSV است. این فایل ها فقط متن ساده دارند و تقریباً همه ابزارها از جمله pandas می توانند آن ها را بخوانند.
در مثال ها از فایلی به نام data.csv استفاده شده است. در منبع حتی لینک دانلود و مشاهده همان data.csv هم قرار داده شده تا ببینی ساختار فایل چطور است.
برای شروع خواندن CSV با pandas باید کتابخانه را ایمپورت کنی و بعد با تابع read_csv فایل را داخل یک DataFrame لود کنی.
import pandas as pd
df = pd.read_csv("data.csv")
print(df.to_string())
در این مثال، df یک DataFrame است که داده های داخل data.csv را نگه می دارد. در منبع گفته شده متد to_string() باعث می شود کل جدول چاپ شود و چیزی از قلم نیفتد.
نکته: اگر دیتافریم خیلی بزرگ باشد، به صورت پیش فرض فقط بخش هایی از آن نمایش داده می شود. در ادامه منبع توضیح داده چطور این رفتار را کنترل کنی.
چاپ دیتافریم بدون to_string در pandas
در منبع بعدی، همان کد خواندن CSV با pandas تکرار شده است؛ اما این بار بدون استفاده از to_string(). این کار باعث می شود pandas فقط بخش اول و آخر دیتافریم را نشان بدهد.
import pandas as pd
df = pd.read_csv("data.csv")
print(df)
در منبع توضیح داده شده وقتی دیتافریم خیلی بزرگ باشد، pandas به صورت خودکار فقط پنج ردیف اول و پنج ردیف آخر را نشان می دهد. این کار برای این است که صفحه ات شلوغ نشود.
اگر می خواهی همیشه کل جدول را ببینی، می توانی از to_string() استفاده کنی یا تنظیمات max_rows را تغییر بدهی. در ادامه منبع دقیقاً همین تنظیم ها را نشان داده است.
تنظیم گزینه max_rows در pandas
در منبع گفته شده تعداد ردیف هایی که نمایش داده می شود، در تنظیمات pandas تعریف شده است. این تنظیم در گزینه pd.options.display.max_rows قرار دارد.
ابتدا می توانی مقدار فعلی max_rows را ببینی. این مقدار تعیین می کند اگر دیتافریم بیشتر از آن ردیف داشته باشد، print(df) فقط بخش هایی را نمایش دهد.
import pandas as pd
print(pd.options.display.max_rows)
در مثال منبع، روی سیستم نویسنده این عدد 60 بوده است. یعنی اگر دیتافریم بیشتر از 60 ردیف داشته باشد، فقط سر و ته جدول نمایش داده می شود.
در ادامه همان بخش، منبع نشان می دهد که می توانی این عدد را تغییر بدهی تا چاپ کامل دیتافریم راحت تر شود؛ مخصوصاً وقتی داری با مجموعه داده آموزشی کوچک کار می کنی.
import pandas as pd
pd.options.display.max_rows = 9999
df = pd.read_csv("data.csv")
print(df)
در این کد مقدار max_rows روی 9999 تنظیم شده است. این یعنی تقریباً همیشه کل دیتافریم نمایش داده می شود؛ مگر این که واقعاً جدول خیلی خیلی بزرگی داشته باشی.
هشدار: اگر دیتافریم خیلی بزرگ باشد، نمایش کامل همه ردیف ها می تواند ترمینال را شلوغ کند و پیدا کردن بخش های مهم را سخت تر کند.
گام های پیشنهادی برای تمرین خواندن CSV با pandas
- یک فایل data.csv ساده با چند سطر و ستون بساز.
- در پایتون، pandas را ایمپورت کن و با read_csv فایل را بخوان.
- بار اول از print(df.to_string()) برای دیدن کل جدول استفاده کن.
- بار دوم فقط print(df) را بزن و تفاوت نمایش را ببین.
- با تنظیم pd.options.display.max_rows مقدار نمایش را تغییر بده.
برای مرور این مبحث می توانی دوباره به همین صفحه خواندن CSV با pandas برگردی و مثال ها را در ادیتور آنلاین اجرا کنی. همچنین قبل و بعد این فصل، صفحات دیتافریم ها (DataFrames) و صفحه مربوط به JSON به ترتیب در مسیر یادگیری تو قرار دارند.
جمع بندی سریع
- فایل CSV یک فایل متنی ساده با ستون های جداشده با ویرگول است.
- با read_csv فایل CSV را مستقیماً داخل DataFrame می خوانی.
- متد to_string() کل دیتافریم را بدون خلاصه سازی چاپ می کند.
- pandas به صورت پیش فرض فقط بخشی از ردیف ها را نمایش می دهد.
- با تنظیم max_rows می توانی تعداد ردیف های نمایش داده شده را کنترل کنی.