البرمجة

إزالة الأرقام باستخدام Python

لحذف جميع الأرقام من القائمة في السكربت الخاص بك في Python ، يمكنك استخدام الكود التالي:

python
# قراءة الملف وتخزين كل سطر في قائمة with open('file.txt', 'r') as f: lines = f.readlines() # حلق عبر كل سطر وحذف الأرقام for i in range(len(lines)): # استخدام التنسيق لتقسيم السطر إلى أجزاء parts = lines[i].split() # حلق عبر كل جزء والتحقق مما إذا كان غير عددي for j in range(len(parts)): # إذا كان الجزء ليس عددًا، نضعه مرة أخرى في السطر if not parts[j].replace('.', '', 1).isdigit(): # استبدل النقطة مرة واحدة للسماح بالأعداد العشرية lines[i] = parts[j] + ' ' # إعادة بناء السطر بدون الأرقام lines[i] = ''.join(lines[i]) # كتابة السطور المعالجة إلى ملف جديد with open('file_without_numbers.txt', 'w') as f: f.writelines(lines)

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

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

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

أولاً وقبل كل شيء، يجب علينا أن نتأكد من فهم مشكلة المستخدم بشكل وافٍ. يبدو أن المستخدم يرغب في إزالة جميع الأرقام من قائمة مكونة من الأسماء والأرقام المتعلقة بها. بما أن القائمة طويلة جدًا وتحتوي على 88779 سطرًا، يجب أن نقدم حلاً فعالاً يمكن تطبيقه بسرعة وكفاءة.

لحل هذه المشكلة، يمكننا استخدام التعبيرات النمطية (Regular Expressions) في Python. التعبيرات النمطية هي أداة قوية تسمح لنا بتحديد النمط المطلوب للنصوص التي نريد البحث عنها ومطابقتها أو استبدالها.

إليك كيف يمكننا كتابة الكود لحل هذه المشكلة باستخدام التعبيرات النمطية في Python:

python
import re # القائمة المراد تنظيفها data = """ SMITH 1.006 1.006 1 JOHNSON 0.810 1.816 2 WILLIAMS 0.699 2.515 3 JONES 0.621 3.136 4 BROWN 0.621 3.757 5 DAVIS 0.480 4.237 6 ... # استخدام التعبير النمطي لإزالة الأرقام cleaned_data = re.sub(r'\d+\.\d+', '', data) # طباعة القائمة بعد التنظيف print(cleaned_data)

في هذا الكود، استخدمنا re.sub() لاستبدال أي تطابق للأرقام العائمة (الأرقام التي تحتوي على نقطة عشرية) بسلسلة فارغة، وبالتالي تحقيق الهدف من إزالة الأرقام. تم استخدام \d+\.\d+ كنمط يبحث عن أي رقم عائم في النص.

بعد تنفيذ الكود، سيتم طباعة القائمة المنظفة بدون الأرقام.

هذا الكود يعتمد على أن الأرقام المراد إزالتها هي فقط الأرقام العائمة. إذا كانت هناك حاجة لإزالة جميع الأرقام بما في ذلك الأرقام الصحيحة، يمكن تعديل التعبير النمطي وفقًا لذلك.

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

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

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

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

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