آموزش خواندن و نوشتن فایل csv در پایتون

در آموزش خواندن و نوشتن فایل csv در پایتون ابتدا باید یاد بگیریم که فایل csv چیه؟ به چه فایلهایی csv میگن؟ چجوری میتونیم فایل رو بخونیم؟ داخلش بنویسیم؟ این فایلها چه کاربردی تو پایتون دارند؟ همه اینها سوالاتی هستند که خیلی مهمه، نباید سرسری ازشون بگذریم. بعد از خواندن این مقاله بهت قول میدم به جواب همه سوالاتت برسی میگی نه، نگاه کن.
خب بریم ببینیم csv چیه؟
در آموزش خواندن و نوشتن فایل csv در پایتون ابتدا باید در مورد csv یه مقدمه ای کوچولو داشته باشیم تا با مفاهیم پایه آشنا بشیم سپس بریم سراغ پایتون . فایلهای csv (comma separated value) فایلهایی هستند که مقادیر داخلشون با استفاده از ویرگول(,) یا کاما(‘) از هم جدا میشوند.
یه مثال خیلی ساده ذخیره کردن اطلاعات کارمندان یک شرکت. هدفمون از csv چی میتونه باشه؟ چرا باید از فایل csv استفاده کنیم؟ درحقیقت csv یک راهی هست که بتونیم براحتی اطلاعات را رد و بدل کنیم. یکم قلمبه سلمبه شد نه ؟ تا آخرش میفهمیم قضیه از چه قراره، فعلاً اول راهیم بزن بریم که کار داریم!
بیاید با هم یک فایل csv ایجاد کنیم برای اینکار ابتدا در فضالی خالی دسک تاپ راست کلیک کرده روی New کلیک سپس یک فایل متنی Notepad توسط Text Document ایجاد میکنیم و اطلاعات خودمون رو (فرقی نمیکنه چه اطلاعاتی باشه مثلاً اطلاعات کارمندان یک شرکت فرضی) داخلش مینویسیم مانند زیر:

این فایل را با پسوند csv ذخیره میکنیم(departman.csv)، بعدش فایل رو با برنامه اکسل باز میکنیم.
جای نگرانی نیست اگر خواستید ویرایش کنید براحتی تو اکسل میتونید اصلاحش کنید.
خب دوست خوبم دیدی چیزی نداشت ؟ خیلی راحت تونستیم فایل csv ایجاد کنیم. این فایلها خیلی استفاده میشن و از پسوندهای بسیار مهم برای دیتاستها هستند. از قیافتون یه حدسی میزنم که سوال دارید درسته؟ سوالتونم این میتونه باشه؟ چرا از همون اول این مطالب رو تو اکسل ننوشتیم کارمونو سخت کردیم؟
جوابت پیش لرن پایتونه ، ببین هر کسی هر مطالبی تو اکسل بزاره با فرمت خودش خواهد بود با قالب استاندارد نیست و همین مسائل باعث میشه نتونن با همدیگه فایل و به اشتراک بزارن تو رد و بدل کردن اطلاعات دچار مشکل میشوند. بخاطر همین از csv استفاده میکنیم. حل شد؟ فک کنم یه کوچولو حل شده حالا زیاد حساس نباش .اینم از نحوه ایجاد فایل csv بسیارخب این نمونه فایل و اینجا داشته باشید باهاش خیلی کار داریم.
اجازه ورود به پایتون :
قبل از ورود به آموزش خواندن و نوشتن فایل csv در پایتون یاد گرفتیم csv چی هست الان اجازه ورود به دنیای حیرت انگیز پایتون را داریم . اینجاست که فوق العادست متحیرتون میکنه .
برای کار با فایلهای csv و خواندن و نوشتن فایل csv در پایتون چندین روش وجود داره ولی ما اینجا با دو روش مهم و کاربردی آشنا میشیم که
روش اول : استفاده از ماژول csv
روش دوم: استفاده از کتابخانه pandas
قدم اول : آموزش ماژول csv در پایتون
قبل از شروع خواندن و نوشتن فایل csv در پایتون، یه خبر توپ بهت بدم میدونم که خوشحالت میکنه تو این بخش نیازی به نصب هیچی نیست براحتی آب خوردن میریم سراغ اصل مطلب(یاد خواستگاری افتادم) بدلیل اینکه موقع نصب پایتون بصورت پیش فرض این ماژول خودش نصب میشه دیگه کار ما رو راحت کرده فقط قبلش باید فراخوانیش کنیم که تا الان فکر کنم براساس مقالات قبلی با ایمپورت کردن خیلی خوب آشنا هستین.

5 پله تا خواندن فایل csv با پایتون:
پله اول: فایل csv رو باید بازکنیم برای این کار از تابع open() و مد “r” استفاده میکنیم.( مد “r” به معنی قابل خوندن هست یعنی همون read)

پله دوم: حالا باید فایلی که باز کردیم و بخونیم با استفاده از متد reader()

پله سوم: تو این پله عنوانها رو باید از بقیه متن جدا کنیم برای خوندن عنوانها از تابع next() استفاده میکنیم.

پله چهارم: عنوان و خوندیم حالا نوبت به بقیه داده های فایل csv رسیده بدلیل قابل پیمایش بودن داده ها برای این کار هم از حلقه for استفاده میکنیم.

آخرین پله: بستن فایل file.close() ، هر فایلی و باز کردی آخرش ببند یادت نره .

یادم رفته بودا براتون نتیجشو بزارم دوباره برگشتم تا خروجیشو بزارم ببین چه زیبا اطلاعات و نمایش داد؟

اینم از خوندن فایل csv حالا که تا اینجا اومدین یه سر هم به نحوه نوشتنشون بزن و اونم یاد بگیر. فقط یه نکته ای رو بگم حتما پایتون مقدماتی رو باید بلد باشید وگرنه دچار مشکل میشید یه سر به آموزش پایتون در یک ساعت بزنید.
ایجاد و نوشتن فایل csv در پایتون:
برای نوشتن فایل csv اول باید فایل را برای نوشتن باز کنیم کلا چه بخونیم چه بنویسیم ابتدای کار باز کردن فایله حالا اگر به نحوی فراموش کنید فایل را برای نوشتن باز کنید هیچ مشکلی نیست چون با تابع writer() کار میکنیم پایتون خودش یک فایل باز میکنه.
خیلی رفیق باحالیه همیشه هوامونو داره. همونجوری که گفتم برای نوشتن از تابع writer() استفاده میکنیم. فقط اینجا حواستون باشه اسم فایلی که میخواهیم داخلش نوشته بشه رو مینویسیم که فایل با اون نام ایجاد بشه. اینجا فایل ایجاد شده با نام departman2 هست. ( مد “w” به معنی قابل نوشتن هست) این تابع 2 نوع مختلف دارد :
تابع writerow() : این تابع برای نوشتن عنوانهای یک سطر
تابع writerows() : این تابع برای نوشتن یک سطر
اینم مثال همون تابع که گفتما در نظر داشته باشید باهاش کار داریم .

امروز چرا نتیجه ها یادم میره به بزرگی خودتون ببخشید الان میزارم. Departman2.csv تو سیستممون ذخیره شده بریم که فایل و باز کنیم و ببینیم چی برامون نوشته.

قدم دوم : آموزش کتابخانه pandas در پایتون
شنیدین که میگن اگه قدم اول و محکم برداری تو قدم های بعدی راحت تری ؟ مسیر برات هموار میشه؟ اگه نشنیدی هم از من فیلسوف الان شنیدی ! روش دوم برای خواندن فایل csv در پایتون استفاده از پانداس هستش برای این کار ابتدا باید کتابخانه رو نصب کنیم اینجا دیگه سورپرایزی در کار نیست.بریم برا نصب:
نصب pandas:
از منوی استارت start در کادر search عبارت cmd را تایپ می کنیم یا با استفاده از کلید ترکیبی (دکمه ویندوز کیبورد با R) به این ترتیب پنجره سیاه رنگی باز میشه برای نصب عبارت زیر را داخل cmd تایپ میکنیم.

و منتظر میمونیم تا عملیات نصب انجام بشه وقتی پیغام successful را دیدیم یعنی کارت حرف نداره تونستی نصبش کنی باریکلا… دیگه کم کم بریم برا ایمپورتش تو برنامه

چرا اینجا نوشتم as pd؟ برای اینکه کارمون تو بررامه راحت باشه بجای عبارت pandas از لقبش استفاده کنیم. تو پانداس با دیتا فریم ها کار میکنیم حالا اینکه دیتا فریم چیه نگران نباش توضیح میدم برات اول لُپ مطلب و بچسب بعد بریم به جزییات،
خب میاییم دیتا فریم و تو یه متغیری به اسم دلخواه ذخیره میکنیم من اینجا اسمشو گذاشتم df اکثرا عادت کردم به این اسم، بعدش از دیتافریمم پرینت میگیرم.


اینم از خوندن فایل csv با pandas در پایتون میبینید چقدر مرتب هست واقعا آدم کِیف میکنه. کار با داده ها واقعا لذت بخشه.
خب رسیدم به آخر بحث ، همراهان عزیز لرن پایتون اگر شما روشهای دیگه ای برای خواندن و نوشتن فایل csv در پایتون میدونید خیلی خوشحال میشیم (در پوست خودمون نمیگنجیم) که اطلاعات، نظرات، پیشنهادات، اشکالات خودتون رو با ما هم به اشتراک بزارید. منتظر کامنت پرمهرتون هستیم.بدرود دوست عزیز
دیدگاهتان را بنویسید