البرمجة

تحليل تكرار الأسماء في ملف البيانات باستخدام Python

في محاولتك لحساب عدد الأشخاص في الملف المعطى، وجدت أن الكود الذي كتبته يقوم بفعل جيد في حساب عدد الأسطر في الملف. ومع ذلك، يبدو أنك واجهت تحديًا عندما حاولت حساب عدد الأشخاص الفرديين على أساس اسم متكرر.

لحل هذا التحدي، يمكننا تعديل الكود ليقوم بفحص الأسماء وحساب عدد الأشخاص الفرديين. يمكن أن يكون لديك قاموس (dictionary) حيث يتم تخزين الأسماء كمفاتيح والقيمة المرتبطة بها هي عدد الظهور. فيما يلي تعديل للكود الخاص بك:

python
def number_people(path): people_count = {} with open(path) as f: for line in f: if line.strip(): # يقوم بفصل السطر إلى قطع باستخدام الفراغ كفاصل parts = line.split() # يأخذ الاسم (الجزء الأول) من السطر name = parts[0] # يزيد عدد الظهور لهذا الاسم في القاموس people_count[name] = people_count.get(name, 0) + 1 return people_count

هذا التعديل يستخدم قاموسًا لتتبع عدد مرات ظهور كل اسم في الملف. يمكنك استدعاء هذه الوظيفة وسوف تحصل على قاموس يحتوي على أسماء الأشخاص وعدد ظهور كل منهم.

المزيد من المعلومات

بالتأكيد، يمكننا توسيع الشرح حول الكود وتوضيح المزيد من المعلومات حول كيفية عمل الوظيفة وكيف يتم استخدامها. لنقم بشرح المزيد حول الأمور التي تم تناولها في الكود.

في البداية، تم استخدام with open(path) as f لفتح الملف المحدد في path باستخدام بنية with للتأكد من إغلاق الملف بشكل صحيح بعد الانتهاء من قراءته. هذا يساعد في تفادي مشاكل الإغلاق غير المرغوب فيها.

ثم تم استخدام فحلقة for line in f لقراءة كل سطر في الملف. تم استخدام line.strip() للتأكد من أن السطر ليس فارغًا.

بعد ذلك، تم استخدام line.split() لتقسيم السطر إلى أجزاء باستخدام الفراغ كفاصل. ومن ثم تم اختيار الجزء الأول (الاسم) باستخدام parts[0].

تم إنشاء قاموس people_count لتخزين عدد ظهور كل اسم. وفي كل مرة يتم قراءة سطر جديد، يتم زيادة القيمة المرتبطة بالاسم في القاموس.

أخيرًا، يتم إرجاع القاموس كنتيجة. يمكنك استخدام هذه الوظيفة للحصول على معلومات حول عدد الأشخاص الذين يحملون نفس الاسم في الملف الذي تم تمريره كمعامل.

تأكد من استدعاء هذه الوظيفة بملف البيانات الخاص بك وفحص النتائج لتحليل كيفية توزيع الأسماء وعددها في الملف.

زر الذهاب إلى الأعلى