ملفات CSV (Comma-Separated Values) تُستخدم لتخزين البيانات على شكل جدول، حيث يتم فصل القيم بفاصلة ,. وهي شائعة جدًا في تبادل البيانات بين البرامج مثل Excel وGoogle Sheets.
🗂️ استخدام مكتبة csv في Python:
Python تحتوي على مكتبة مدمجة تسمى csv تسهل العمل مع هذه الملفات.
📥 أولًا: قراءة ملف CSV
مثال على ملف اسمه data.csv:
الاسم,العمر,المدينة
أحمد,25,الرياض
سارة,30,جدة
✅ كود القراءة:
import csv
with open("data.csv", newline='', encoding="utf-8") as file:
reader = csv.reader(file)
for row in reader:
print(row)
🔹 النتيجة:
['الاسم', 'العمر', 'المدينة']
['أحمد', '25', 'الرياض']
['سارة', '30', 'جدة']
📝 ثانيًا: كتابة إلى ملف CSV
✅ كود الكتابة:
import csv
# البيانات التي نريد كتابتها
rows = [
["الاسم", "العمر", "المدينة"],
["خالد", "28", "مكة"],
["نورة", "22", "الدمام"]
]
with open("new_data.csv", mode="w", newline='', encoding="utf-8") as file:
writer = csv.writer(file)
writer.writerows(rows)
print("تم إنشاء الملف بنجاح.")
🧠 ملاحظات مهمة:
- استخدم
newline=''عند فتح الملف لتفادي الأسطر الفارغة في بعض الأنظمة. writerows()تستخدم لكتابة عدة صفوف دفعة واحدة.writerow()تستخدم لكتابة صف واحد فقط.
رائع! إليك تمرينًا تطبيقيًا بسيطًا على درس التعامل مع ملفات CSV باستخدام Python:
✅ التمرين:
أنت تعمل على برنامج لإدارة الطلاب. لديك قائمة من الطلاب تحتوي على الاسم والعمر والصف الدراسي.
المطلوب:
-
أنشئ ملف CSV باسم
students.csvيحتوي على البيانات التالية:الاسم,العمر,الصف علي,14,الثامن ريم,13,السابع فهد,15,التاسع -
اكتب كود Python يقوم بما يلي:
- قراءة الملف وعرض جميع الطلاب.
- بعد القراءة، أضف طالبًا جديدًا إلى نفس الملف:
"ليان", 13, "السابع"
🧪 الحل:
import csv
# 1. إنشاء الملف مع بعض البيانات
header = ["الاسم", "العمر", "الصف"]
students = [
["علي", "14", "الثامن"],
["ريم", "13", "السابع"],
["فهد", "15", "التاسع"]
]
with open("students.csv", mode="w", newline='', encoding="utf-8") as file:
writer = csv.writer(file)
writer.writerow(header)
writer.writerows(students)
print("تم إنشاء الملف students.csv ✅\n")
# 2. قراءة بيانات الطلاب
print("📄 قراءة البيانات من students.csv:")
with open("students.csv", newline='', encoding="utf-8") as file:
reader = csv.reader(file)
for row in reader:
print(row)
# 3. إضافة طالب جديد
new_student = ["ليان", "13", "السابع"]
with open("students.csv", mode="a", newline='', encoding="utf-8") as file:
writer = csv.writer(file)
writer.writerow(new_student)
print("\nتمت إضافة الطالب الجديد بنجاح ✅")
🧠 ما سيتعلمه المتدرب من التمرين:
- كيفية كتابة البيانات إلى ملف CSV.
- كيفية قراءة البيانات من ملف CSV.
- الفرق بين وضع
"w"و"a"عند فتح الملف. - فهم البنية الشائعة لملفات CSV.

