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

Ahmed Ahmed64

الأعضاء
  • المساهمات

    222
  • تاريخ الانضمام

  • تاريخ آخر زيارة

كل منشورات العضو Ahmed Ahmed64

  1. أحسنت أستاذي بارك الله فيك ws.sheet_view.rightToLeft = True
  2. شكرا جزيلا على لطفك ودعمك ,,, أشكرك كل الشكر عفوا أستاذي سؤال أخر لو تكرمت بحثت ولم أجد إجابة له في برنامج Microsoft Office Excel هناك خيار داخل تبويب تخطيط الصفحة خاص بقلب ورقة العمل من اليمين لليسار كيف أنفذ هذا باستخدام مكتبة Openpyxl
  3. نعم لدي خطأ فيما يخص أخر سطر AttributeError: 'OpenpyxlWriter' object has no attribute 'save'. Did you mean: '_save'?
  4. نعم أستاذي هذا ما فعلته لقد أرسلت لك الكود في السابق لتصحيحه لي import pandas as pd from openpyxl import load_workbook from openpyxl.styles import Font, PatternFill, Border, Side, Alignment df = pd.read_excel('test.xlsx',sheet_name="sh1",header=None, engine='openpyxl') data = {'الإسم الأول': df.iloc[1::, 0] ,'إسم الأب': df.iloc[1::, 1],'أسم العائلة': df.iloc[1::, 2]} df = pd.DataFrame.from_dict(data) writer = pd.ExcelWriter('test2.xlsx', engine='openpyxl') df.to_excel(writer, sheet_name='Sheet1', index=False) wb = writer.book ws = wb['Sheet1'] data_font = Font(size=10, color='000000') for row in ws.iter_rows(): for cell in row: cell.font = data_font writer.save()
  5. أستاذي لدي هذه الشفرة كيف أقوم بالأمر عليها لكي يتضح لي شرحك أكثر فا أكثر وأسف على الإطالة import pandas as pd from openpyxl import load_workbook df = pd.read_excel('test.xlsx',sheet_name="sh1",header=None, engine='openpyxl') data = {'الإسم الأول': df.iloc[1::, 0] ,'إسم الأب': df.iloc[1::, 1],'أسم العائلة': df.iloc[1::, 2]} df = pd.DataFrame.from_dict(data) df.to_excel("op1.xlsx",index=False) هل الشفرة تكون بهذه الكيفية import pandas as pd from openpyxl import load_workbook from openpyxl.styles import Font, PatternFill, Border, Side, Alignment df = pd.read_excel('test.xlsx',sheet_name="sh1",header=None, engine='openpyxl') data = {'الإسم الأول': df.iloc[1::, 0] ,'إسم الأب': df.iloc[1::, 1],'أسم العائلة': df.iloc[1::, 2]} df = pd.DataFrame.from_dict(data) writer = pd.ExcelWriter('test2.xlsx', engine='openpyxl') df.to_excel(writer, sheet_name='Sheet1', index=False) wb = writer.book ws = wb['Sheet1'] data_font = Font(size=10, color='000000') for row in ws.iter_rows(): for cell in row: cell.font = data_font writer.save()
  6. أسف على الأطالة أستاذي ولاكن إختلط علي الأمر توضيح أكثر أستاذي لم أفهم الفكرة جيداً أحتاج أن أقوم بالتنسيقات على الداتا فريم التي سيتم حفظها كا جدول إكسيل قبل الوصول لهذا السطر self.DF.to_excel("SAVE1.xlsx",index=False) والذي يقوم بعملية الحفظ باستخدام أريد إدخال openpyxl على الكود للقيام بتنسيق الجدول علما أن الكود من البداية كان من خلال مكتبة pandas أي تم قرأه الملف باستخدام pandas تمت العمليات كذلك باستخدام pandas هل تقصد الحفظ هكذا self.DF = pd.ExcelWriter('test.xlsx', engine='openpyxl') إذا كان هكذا فعند فتح ملف الإكسيل تظهر رسالة بأن الملف تالف
  7. أستاذي لم أفهم الفكرة جيداً أحتاج أن أقوم بالتنسيقات على الداتا فريم التي سيتم حفظها كا جدول إكسيل قبل الوصول لهذا السطر self.DF.to_excel("SAVE1.xlsx",index=False) والذي يقوم بعملية الحفظ باستخدام أريد إدخال openpyxl على الكود للقيام بتنسيق الجدول علما أن الكود من البداية كان من خلال مكتبة pandas أي تم قرأه الملف باستخدام pandas تمت العمليات كذلك باستخدام pandas
  8. السلام عليكم ورحمة الله وبركاته سؤال وأرجو التوضيح عليه ولو بشيء مبسط سؤال كالتالي: لقد قمت بإنشاء ملف إكسيل من خلال DataFrame ولقد استخدمت مكتبة pandas في هذا أحتاج إلى كود يقوم بتنسيق شكل الأعمدة كا حجم العمود ولون الخلايا وهكذا مثلاً أعلم أن مكتبة openpyxl مرنة أكثر في التنسيق هل يمكن القيام بذلك من خلال مكتبة pandas إذا كان الجواب لا كيف أقوم بربط pandas مع openpyxl أي مثلا كيف أتعامل مع اسم ورقة العمل تم جلبها بمكتبة pandas لأشاركها مع مكتبة openpyxl لأقوم بالتنسيق عليها
  9. المشكلة يبدو كانت هنا في كود البحث وعند إضافة .copy() نهاية السطر تم حل مشكلة التحذير self.searjh = self.df1[self.df1['إسم الطالب'] == str(self.label_Title.cget("text"))].copy() جزاك الله خيراً أستاذي
  10. فعلا لقد قمت بهذا الإجراء ولازال التحذير يظهر self.df1 =self.df[['إسم الطالب', 'إسم المادة','الفصل الدراسي' ,'العام الدراسي' , 'نتيجة المادة' ]].copy()
  11. الطريقة التي قمت بها لأخذ نسخة من الأصلي هكذا self.df =self.df[['إسم الطالب', 'إسم المادة','الفصل الدراسي' ,'العام الدراسي' , 'نتيجة المادة' ]] هل هذا سبب المشكلة
  12. أشكرك أستاذي هذا فعلاً طلبي جزاك الله خيراً الكود نجح أستاذي أستاذي لو سمحت عند التنفيذ يظهر لي هذا الخطأ كيف اتلاشى هذا الخطأ وهو أعتقد ليس خطأ وإنما جانب فني في الكود See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy self.searjh['التقدير'] = self.searjh['نتيجة المادة'].apply(self.get_grade)
  13. السلام عليكم ورحمة الله وبركاته أوضح لكم سؤالي بشيء من التبسيط لكي يكون مفهوم إلى حضراتكم السؤال كالتالي : لدي عمود من DataFrame يحتوي على نتائج طلاب ,,,, أحتاج أن أقوم بتكوين عمود جديد لديه اسم [ التقدير ] أحتاج أن أقوم كتابة كود وظيفة تقوم بالمرور على عمود النتائج وطباعة التقدير في عمود التقدير =<85 ممتاز =<75 جيد جداً =<65 جيد ضعيف حاولت كتابة الكود ولاكن لم أنجح في استكماله self.searjh['التقدير'] = self.searjh['نتيجة المادة'].apply(lambda x: np.nan if x > 85 else ممتاز) أرجو المساعدة أساتذتي
  14. أخي في الحقيقة كنت أحاول أن أدرج عمود جديد على الداتا فريم حيث نتيجة هذا العمود يقوم بجلبها بالإعتماد على عمود self.searjh['نتيجة المادة'] حيث حاول أن أصنع هذا الكود self.searjh['التقدير'] = self.searjh['نتيجة المادة'].apply(lambda x: 'NaN' if x > 90 else "ممتاز") وأنا أحاول أن أدخل def على السطر الذي بالأعلى def Estimates(self): if self.nT >= 85: self.searjh["التقدير"] ="ممتاز" elif self.nT >=75: self.searjh["التقدير"] ="جيد جداً" elif self.nT >=65: self.searjh["التقدير"] ="جيد" elif self.nT >=50: self.searjh["التقدير"] ="مقبول" else: self.searjh["التقدير"] ="ضعيف" الرجاء المساعدة في ذلك
  15. عند تشغيل الكود لم يظهر خطأ كذلك لم يقم بتكوين العمود الحديد " التقدير "
  16. السلام عليكم self.df = pd.read_excel(self.file_name,sheet_name=self.vq,header=None) self.DATA_A() self.df = pd.DataFrame.from_dict(self.dataT) self.df =self.df[['إسم الطالب', 'إسم المادة' ,'العام الدراسي' , 'نتيجة المادة' ]] self.df['نتيجة المادة'] = pd.to_numeric(self.df['نتيجة المادة'], errors='coerce') self.searjh = self.df[self.df['إسم الطالب'] == str(self.label_Title.cget("text"))] self.nT = self.searjh['نتيجة المادة'] self.searjh["التقدير"] = self.nT.apply(lambda x: self.Estimates) def Estimates(self): if self.nT >= 85: self.searjh["التقدير"] ="ممتاز" elif self.nT >=75: self.searjh["التقدير"] ="جيد جداً" elif self.nT >=65: self.searjh["التقدير"] ="جيد" elif self.nT >=50: self.searjh["التقدير"] ="مقبول" else: self.searjh["التقدير"] ="ضعيف"
  17. هذا ما قمت بتعديله هل هكذا صحيح self.df = pd.read_excel(self.file_name,sheet_name=self.vq,header=None) self.DATA_A() self.df = pd.DataFrame.from_dict(self.dataT) self.df =self.df[['إسم الطالب', 'إسم المادة' ,'العام الدراسي' , 'نتيجة المادة' ]] self.df['نتيجة المادة'] = pd.to_numeric(self.df['نتيجة المادة'], errors='coerce') self.searjh = self.df[self.df['إسم الطالب'] == str(self.label_Title.cget("text"))] self.nT = self.searjh['نتيجة المادة'] self.searjh["التقدير"] = self.nT.apply(lambda x: 'A' if x >= 85 else 'Other') لأن الكود به خطأ A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy self.searjh["التقدير"] = self.nT.apply(lambda x: 'A' if x >= 85 else 'Other')
  18. السلام عليكم أرجو تصحيح الخطأ بهذا الكود self.df = pd.read_excel(self.file_name,sheet_name=self.vq,header=None) self.DATA_A() self.df = pd.DataFrame.from_dict(self.dataT) self.df =self.df[['إسم الطالب', 'إسم المادة' ,'العام الدراسي' , 'نتيجة المادة' ]] self.df['نتيجة المادة'] = pd.to_numeric(self.df['نتيجة المادة'], errors='coerce') self.searjh = self.df[self.df['إسم الطالب'] == str(self.label_Title.cget("text"))] self.nT=self.searjh['نتيجة المادة'] if self.nT >= 85: self.searjh["التقدير"]="A" ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
  19. ما مشكلة هذا الكود لا يقوم بإزالة التكرار df1.drop_duplicates(subset='إسم الطالب',keep='first')
  20. أشكرك أستاذي جزاك الله خيرا هل ما قمت به صحيح أم هناك تصحيح للكود في الحقيقة الشفرة تعمل جيدا ولاكن أحتاج إلى أمر بسيط عند البحث قد تكون هناك قيم مكرر داخل DataFrame كيف أستطيع تجاهل تكرار القيم عند البحث وجلب أول قيمة def s_r(self, Key): query = self.entry1.get() for row in self.tree.get_children(): self.tree.delete(row) for index, row in self.A1[self.A1[0].str.contains(query)].iterrows(): self.tree.insert('', 'end', values=(row[0],))
  21. السلام عليكم ورحمة الله وبركاته المساعد في التعديل على هذا الكود الذي وضيفته البحث في أداة Treeview من خلال أداة entry التعديل الذي أحتاج القيام به هو بمجرد كتابة أول حرف من الكلمة المراد البحث عنها من خلال أداة entry يتم البحث عن النتائج المطابقة وحذف باقي السجلات الغير المطابقة الكود الحالي يقوم بتحديد السجل المطابق للبحث فقط والإبقاء على باقي النتائج self.entry1.bind('<Key>', self.search) def search(self, Key): query = self.entry1.get() selections = [] for child in self.tree.get_children(): if query in self.tree.item(child)['values']: self.tree.delete() print(self.tree.item(child)['values']) selections.append(child) self.tree.selection_set(selections)
  22. أستاذي أحتاج إلى التعديل على هذا الكود الذي وضيفته البحث في أداة Treeview من خلال أداة entry def sr(self, Key): query = self.entry1.get() selections = [] for child in self.tree.get_children(): if query in self.tree.item(child)['values']: self.tree.delete() print(self.tree.item(child)['values']) selections.append(child) self.tree.selection_set(selections) التعديل الذي أحتاج القيام به هو بمجرد كتابة أول حرف من الكلمة المراد البحث عنها من خلال أداة entry يتم البحث عن النتائج المطابقة وحذف باقي السجلات الغير المطابقة
  23. أستاذي هل تقصد أن الكود هذا لا يستخدم مع grid self.option_add('*Ttk*direction', 'right')
  24. السلام عليكم التحقق ومراجعة الكود الخاص بقلب الواجهة للعربية أي RTL حيث لم ينجح الكود في قلب الاتجاه المفترض أن يكون العمود 0 الصف 0 يمين الشاشة بعد هذا الكود import customtkinter as ctk import tkinter as tk from tkinter import ttk class App(ctk.CTk,tk.Tk): def __init__(self): super().__init__() ctk.set_appearance_mode("dark") ctk.set_default_color_theme("green") self.option_add('*Ttk*direction', 'rtl') self.Button1 = ctk.CTkButton(self, text="فتح") self.Button1.grid(row=0, column=0, pady=(5, 5),padx=(5, 5), sticky="e") app = App() app.mainloop()
  25. هل عند استخدام الكلاس يوضع الكود بهذه الكيفية import customtkinter as ctk import tkinter as tk from tkinter import ttk class App(ctk.CTk,tk.Tk): def __init__(self): super().__init__() ctk.set_appearance_mode("dark") ctk.set_default_color_theme("green") self.option_add('*Ttk*direction', 'rtl') self.Button1 = ctk.CTkButton(self, text="فتح") self.Button1.grid(row=0, column=0, pady=(5, 5),padx=(5, 5), sticky="e") app = App() app.mainloop() عند التنفيذ يظهر Button ناحية اليسار
×
×
  • أضف...