البرمجة

استخراج المعلومات بواسطة Python

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

قبل البدء في تصحيح الشفرة، دعني أوضح لك ما يحتاج تعديلًا:

  1. دالة البحث عن التاريخ (Date Search Function): في الدالة cfor_date، تقوم بالبحث عن تاريخ يتكون من ترتيب يوم-شهر-سنة، وهو النمط الذي تريد استخراجه من كل سطر. البحث يبدو صحيحًا، لكن يجب أن تتأكد من استدعاء الدالة بشكل صحيح وتمرير السطر كوسيطة.

  2. دالة البحث عن رقم الضمان الاجتماعي (SSN Search Function): تقوم بالبحث عن الأرقام التي تتبع النمط القياسي لرقم الضمان الاجتماعي في الولايات المتحدة. لكنها تبدو خاطئة في استخدامها بسبب نفس السبب الذي ذكرته في النقطة السابقة.

  3. دالة البحث عن البريد الإلكتروني (Email Search Function): تقوم بالبحث عن عناوين البريد الإلكتروني التي تنتهي بـ “@gmail.com”. لكنها تحتاج إلى بعض التعديل لتغطية جميع الأحرف المسموح بها في عناوين البريد الإلكتروني.

بعد تصحيح الأخطاء المذكورة، يمكنك تنفيذ الشفرة بشكل صحيح لاستخراج المعلومات المطلوبة من كل سطر. فيما يلي التعديلات اللازمة على الشفرة:

python
import re def cfor_date(line): t = re.search(r'\d{4}-\d{2}-\d{2}', line) if t: return t.group() else: return None def cfor_ssn(line): f = re.search(r'\d{3}-\d{2}-\d{4}', line) if f: return f.group() else: return None def cfor_gm(line): g = re.search(r'[\w\.-]+@gmail\.com', line) if g: return g.group() else: return None with open("rexp.txt", "r") as file: for line in file: date = cfor_date(line) ssn = cfor_ssn(line) email = cfor_gm(line) if date: print("Date:", date) if ssn: print("SSN:", ssn) if email: print("Email:", email)

تم إجراء التعديلات اللازمة لتصحيح الشفرة، بما في ذلك إصلاح طريقة استدعاء الدوال وضمان استخراج الأنماط المطلوبة بشكل صحيح. الآن يمكن للشفرة أن تستخرج التواريخ وأرقام الضمان الاجتماعي وعناوين البريد الإلكتروني بنجاح من كل سطر في الملف المعطى.

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

بعد تصحيح الشفرة لاستخراج المعلومات المطلوبة من الملف “rexp.txt”، يمكننا الآن التعمق في فهم كيفية عمل الشفرة وكيفية استخدام تعابير الاستخراج النمطية في Python لهذا الغرض.

تفسير الشفرة:

  1. تم استيراد مكتبة الاستخراج النمطي re لتمكين البحث عن أنماط معينة في النص.

  2. تم تعريف ثلاث دوال:

    • cfor_date(line): تقوم بالبحث عن تاريخ يتكون من ترتيب يوم-شهر-سنة في السطر المعطى.
    • cfor_ssn(line): تقوم بالبحث عن رقم الضمان الاجتماعي في السطر المعطى.
    • cfor_gm(line): تقوم بالبحث عن عنوان بريد إلكتروني ينتهي بـ “@gmail.com” في السطر المعطى.
  3. تم استخدام معرف with لفتح الملف “rexp.txt” والذي يحتوي على البيانات التي نريد استخراج المعلومات منها.

  4. تم استخدام حلقة for للتحقق من كل سطر في الملف. وباستخدام الدوال التي تم تعريفها، يتم استخراج التواريخ وأرقام الضمان الاجتماعي وعناوين البريد الإلكتروني من كل سطر.

  5. تم طباعة المعلومات المستخرجة إلى الشاشة، مع التحقق من وجود كل معلومة قبل طباعتها.

استنتاج:

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

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

مقالات ذات صلة

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

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر