اذهب إلى المحتوى
  • 0

البحث بإستخدام مكتبة pandas

Ahmed Ahmed64

السؤال

السلام عليكم

لدي جدول بهذا التصميم

2.thumb.png.83afb0a25e17b965bdf23ded02393e04.png

أريد مساعدة وتوضيح لو سمحتم في كتابة كود يقوم بالأتي

البحث بالإسم أي من خلال العمود الأول

وإستخراج كل الصفوف التي تحتوي على الإسم المطابق 

ونسخ النتائج في ملف إكسل مستقل

اللغة المستخدمة لغة PAYTON بإستخدام مكتبة pandas

A.xlsx

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

بالطبع مكتبة pandas مناسبة جدا لمثل هذا الامر و سأعرض لك الكود المناسب لحل المشكلة الذي تريدها 
أولا: نقوم باستدعاء مكتبة pandas 
import pandas as pd
ثانيا: نقرأ الملف و نحوله الي داتا فريم 

data = pd.read_excel("A.xlsx") 

ثالثا: نحدد العمود الذي يحتوي علي الاسماء 
name_column = data.columns[0] 
رابعا: نحفظ الاسماء في list حتى نسطتيع البحث بها و من ثم طباعتها حتى نتأكد من ان الاسماء تم حفظها بال list ملحوظة خطوة الطباعة ليس ضرورية 

()student_names = data[name_column].tolist

print (student_names)

خامسا: نقوم بعمل دالة للبحث وهي كالاتي

:def search_students(name)  # نعطي الدالة الاسم المراد

   [] = results  # هنا نقوم بعمل list فارغة حتى نحفظ النتائج 

    i=0                 # هنا نقوم بتعريف متغير يساعدنا بالبحث علي اسم اسم خلال ال list 

   ()  for row  in data.iterrows                 # هنا نبحث داخل البيانات

     :   if name == student_names[i]         # هنا نقارن الاسم الذي نريد البحث عنه باسم اسم بال list 

            results.append(row[1])                  # عندما يكون الاسم الذي نبحث عنه نفس الاسم الذي بال list نضيف جميع بياناته

        i+=1                                                         

    return results                                                  

سادسا : نستقبل الاسم المراد البحث عنه 

("ادخل الاسم المراد البحث عنه")name = input 

سابعا : نستدعي دالة البحث و نمرر لها الاسم 

results = search_students(name)

ثامنا: تحويل البيانات الي داتا فريم و حفظها في ملف اكسيل 
 

results_dataframe = pd.DataFrame(results)

results_dataframe.to_excel("results.xlsx")

 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...