آموزش Pandas | ذخیره‌سازی داده‌ها

ذخیره‌سازی به فرمت CSV

ذخیره‌سازی DataFrame در قالب فایل CSV یکی از رایج‌ترین و ساده‌ترین روش‌ها برای حفظ و انتقال داده‌ها است. فرمت CSV به دلیل سادگی و سازگاری با اکثر نرم‌افزارها (مانند Excel) بسیار محبوب است.

برای ذخیره‌سازی یک DataFrame در فایل CSV، از متد to_csv() استفاده می‌کنیم. این متد پارامترهای مختلفی دارد که به شما امکان کنترل بر روی نحوه ذخیره‌سازی را می‌دهد.

ساده‌ترین حالت استفاده:

df.to_csv('my_data.csv')

این دستور، DataFrame با نام df را در فایلی به نام my_data.csv در مسیر جاری (همان پوشه‌ای که کد شما در حال اجراست) ذخیره می‌کند.

پارامترهای مهم و پرکاربرد:

  1. تعیین نام و مسیر فایل (path_or_buf):
    می‌توانید یک مسیر کامل (Absolute Path) یا نسبی (Relative Path) برای ذخیره فایل مشخص کنید.

    df.to_csv('C:/Users/YourName/Documents/data.csv')  # مسیر کامل در ویندوز
    df.to_csv('../results/analysis.csv')  # ذخیره در پوشه results یک سطح بالاتر
  2. حذف ایندکس (index=False):
    به طور پیش‌فرض، Pandas ایندکس (شماره سطرهای) DataFrame را نیز در فایل CSV ذخیره می‌کند. در بسیاری از موارد، این ایندکس اطلاعات مفیدی نیست و بهتر است حذف شود.

    df.to_csv('my_data.csv', index=False)

    استفاده از index=False یک عمل استاندارد و توصیه شده است.

  3. تعیین جداکننده (sep):
    به طور پیش‌فرض، از کاما (,) به عنوان جداکننده (Separator) استفاده می‌شود. اگر داده‌های شما شامل کاما باشند، می‌توانید جداکننده دیگری مانند نقطه-ویرگول (;) انتخاب کنید.

    df.to_csv('my_data.csv', sep=';')
  4. رمزگذاری (encoding):
    برای ذخیره‌سازی کاراکترهای غیر-انگلیسی (مانند فارسی)، باید از encoding مناسب مانند utf-8-sig استفاده کنید تا کاراکترها به درستی نمایش داده شوند.

    df.to_csv('my_data_fa.csv', encoding='utf-8-sig', index=False)

    پارامتر utf-8-sig برای سازگاری بهتر با نرم‌افزارهایی مانند Microsoft Excel توصیه می‌شود.

  5. عدم ذخیره سرستون‌ها (header=False):
    اگر نخواهید نام ستون‌ها (Header) در فایل خروجی ذخیره شود، از این پارامتر استفاده کنید.

    df.to_csv('my_data.csv', header=False, index=False)

مثال کاربردی ترکیب پارامترها:
فرض کنید یک DataFrame دارید که حاوی داده‌های فارسی است و می‌خواهید آن را بدون ایندکس و با encoding صحیح ذخیره کنید.

# ایجاد یک DataFrame نمونه با داده‌های فارسی
data = {
    'نام': ['علی', 'رضا', 'سارا'],
    'سن': [25, 30, 28],
    'شهر': ['تهران', 'مشهد', 'اصفهان']
}
df = pd.DataFrame(data)

# ذخیره‌سازی با رعایت تمامی نکات برای داده‌های فارسی
df.to_csv('اطلاعات_اشخاص.csv', index=False, encoding='utf-8-sig')

پس از اجرای این کد، فایلی به نام اطلاعات_اشخاص.csv ایجاد می‌شود که می‌توانید آن را به راحتی در Excel باز کنید و کاراکترهای فارسی را به درستی مشاهده کنید.

پرسش و پاسخ این درس

برای ثبت پرسش ابتدا در سایت وارد شوید.

  • 1
  • 2
  • 3