Data Science

استيراد ودمج ملفات CSV متعددة بكفاءة باستخدام Pandas

Spread the love

يوضح هذا البرنامج التعليمي كيفية استيراد ملفات CSV متعددة بكفاءة إلى إطار بيانات Pandas في Python. سنغطي أساسيات Pandas، وقراءة ملفات CSV المفردة، واستيراد ملفات متعددة، وأخيراً، دمجها في إطار بيانات واحد موحد.

جدول المحتويات

  1. ما هو Pandas؟
  2. قراءة ملف CSV واحد
  3. قراءة ملفات CSV متعددة
  4. دمج إطارات البيانات
  5. معالجة الأخطاء المحتملة

1. ما هو Pandas؟

Pandas هي مكتبة أساسية في نظام بيئة علوم البيانات في Python. توفر هياكل بيانات عالية الأداء وسهلة الاستخدام وأدوات تحليل البيانات. هيكل البيانات الأساسي هو DataFrame، وهو هيكل بيانات ثنائي الأبعاد مُسمى يشبه جدول بيانات أو جدول SQL. يبسط Pandas العمل مع البيانات المنظمة من مصادر مختلفة، بما في ذلك ملفات CSV، وجداول بيانات Excel، وقواعد البيانات.

2. قراءة ملف CSV واحد

قبل معالجة ملفات متعددة، دعونا نقرأ ملف CSV واحد:


import pandas as pd

file_path = 'your_file.csv'  # استبدل بمسار ملفك
df = pd.read_csv(file_path)
print(df.head())

هذا يستورد Pandas، ويحدد مسار الملف، ويقرأ ملف CSV باستخدام pd.read_csv()، ويعرض الصفوف الخمسة الأولى باستخدام df.head().

3. قراءة ملفات CSV متعددة

لقراءة ملفات CSV متعددة من دليل، نستخدم وحدة glob:


import pandas as pd
import glob

directory = 'path/to/your/csv/files/'  # استبدل بدليل ملفاتك
csv_files = glob.glob(directory + '*.csv')
dfs = []

for file in csv_files:
    try:
        df = pd.read_csv(file)
        dfs.append(df)
    except pd.errors.EmptyDataError:
        print(f"تحذير: تخطي ملف فارغ: {file}")
    except pd.errors.ParserError:
        print(f"تحذير: تخطي ملف به أخطاء في التحليل: {file}")

print(f"عدد إطارات البيانات التي تم قراءتها: {len(dfs)}")

هذه الكود يجد جميع ملفات CSV في الدليل المحدد، ويقرأ كل منها في إطار بيانات، ويضيفه إلى قائمة. تتعامل كتلة try-except مع الأخطاء المحتملة مثل الملفات الفارغة أو أخطاء التحليل، مما يمنع تعطل البرنامج النصي.

4. دمج إطارات البيانات

أخيراً، نقوم بدمج إطارات البيانات الفردية:


combined_df = pd.concat(dfs, ignore_index=True)
print(combined_df.head())
combined_df.to_csv('combined_data.csv', index=False) #اختياري: حفظ في ملف CSV جديد

pd.concat(dfs, ignore_index=True) يدمج جميع إطارات البيانات في قائمة dfs. ignore_index=True يعيد تعيين الفهرس لفهرس نظيف ومتصل. يُحفظ الناتج باستخدام to_csv() الاختياري.

5. معالجة الأخطاء المحتملة

البرامج النصية القوية تتوقع المشاكل. إضافة معالجة الأخطاء، كما هو موضح في قسم قراءة الملفات المتعددة، أمر بالغ الأهمية. ضع في اعتبارك إضافة فحوصات لوجود الدليل ومعالجة أنواع مختلفة من أخطاء قراءة الملفات (مثل الفواصل غير الصحيحة، أو الأعمدة المفقودة). هذا يضمن أن برنامجك النصي أكثر موثوقية وأقل عرضة للفشل غير المتوقع.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *