Ahmed Ahmed64 نشر 1 فبراير أرسل تقرير نشر 1 فبراير السلام عليكم ورحمة الله وبركاته سؤال وأرجو التوضيح عليه ولو بشيء مبسط سؤال كالتالي: لقد قمت بإنشاء ملف إكسيل من خلال DataFrame ولقد استخدمت مكتبة pandas في هذا أحتاج إلى كود يقوم بتنسيق شكل الأعمدة كا حجم العمود ولون الخلايا وهكذا مثلاً أعلم أن مكتبة openpyxl مرنة أكثر في التنسيق هل يمكن القيام بذلك من خلال مكتبة pandas إذا كان الجواب لا كيف أقوم بربط pandas مع openpyxl أي مثلا كيف أتعامل مع اسم ورقة العمل تم جلبها بمكتبة pandas لأشاركها مع مكتبة openpyxl لأقوم بالتنسيق عليها 1 اقتباس
0 El Sayed El Tohamy نشر 1 فبراير أرسل تقرير نشر 1 فبراير وعليكم السلام ورحمة الله وبركاته، هذا سؤال جيد، سأعطيك بعض الإرشادات التي تساعدك في مهمتك، وكذلك تنمية مهارات التعلم الذاتي، 1- قم بقراءة ملف الإكسيل بواسطة مكتبة pandas ووضعه داخل DataFram 2- قم بإنشاء كائن باستخدام مكتبة openpyxl # إنشاء كائن ExcelWriter باستخدام محرك openpyxl writer = pd.ExcelWriter('test.xlsx', engine='openpyxl') مع تعديل اسم الملف 3- قم بقراءة workbook, worksheet من الكائن writer 4- قم بعمل التنسيقات المطلوبة 5- قم بحفظ الكائن writer اقتباس
0 Ahmed Ahmed64 نشر 1 فبراير الكاتب أرسل تقرير نشر 1 فبراير (معدل) بتاريخ 14 دقائق مضت قال El Sayed El Tohamy: وعليكم السلام ورحمة الله وبركاته، هذا سؤال جيد، سأعطيك بعض الإرشادات التي تساعدك في مهمتك، وكذلك تنمية مهارات التعلم الذاتي، 1- قم بقراءة ملف الإكسيل بواسطة مكتبة pandas ووضعه داخل DataFram 2- قم بإنشاء كائن باستخدام مكتبة openpyxl # إنشاء كائن ExcelWriter باستخدام محرك openpyxl writer = pd.ExcelWriter('test.xlsx', engine='openpyxl') مع تعديل اسم الملف 3- قم بقراءة workbook, worksheet من الكائن writer 4- قم بعمل التنسيقات المطلوبة 5- قم بحفظ الكائن writer أستاذي لم أفهم الفكرة جيداً أحتاج أن أقوم بالتنسيقات على الداتا فريم التي سيتم حفظها كا جدول إكسيل قبل الوصول لهذا السطر self.DF.to_excel("SAVE1.xlsx",index=False) والذي يقوم بعملية الحفظ باستخدام أريد إدخال openpyxl على الكود للقيام بتنسيق الجدول علما أن الكود من البداية كان من خلال مكتبة pandas أي تم قرأه الملف باستخدام pandas تمت العمليات كذلك باستخدام pandas تم التعديل في 1 فبراير بواسطة Ahmed Ahmed64 اقتباس
0 El Sayed El Tohamy نشر 1 فبراير أرسل تقرير نشر 1 فبراير من الواضح أنك أنجزت الخطوة الأولى وهي الحصول على DataFrame اسمه DF إذن تحتاج لتنفيذ الخطوة الثانية مع تغيير الاسم 'test.xlsx' إلى الاسم المناسب. ولاحظ أننا في النهاية سنقوم بالحفظ عن طريق الكائن writer وليس DF 1 اقتباس
0 Ahmed Ahmed64 نشر 1 فبراير الكاتب أرسل تقرير نشر 1 فبراير (معدل) بتاريخ 12 دقائق مضت قال El Sayed El Tohamy: من الواضح أنك أنجزت الخطوة الأولى وهي الحصول على DataFrame اسمه DF إذن تحتاج لتنفيذ الخطوة الثانية مع تغيير الاسم 'test.xlsx' إلى الاسم المناسب. ولاحظ أننا في النهاية سنقوم بالحفظ عن طريق الكائن writer وليس DF أسف على الأطالة أستاذي ولاكن إختلط علي الأمر توضيح أكثر أستاذي لم أفهم الفكرة جيداً أحتاج أن أقوم بالتنسيقات على الداتا فريم التي سيتم حفظها كا جدول إكسيل قبل الوصول لهذا السطر self.DF.to_excel("SAVE1.xlsx",index=False) والذي يقوم بعملية الحفظ باستخدام أريد إدخال openpyxl على الكود للقيام بتنسيق الجدول علما أن الكود من البداية كان من خلال مكتبة pandas أي تم قرأه الملف باستخدام pandas تمت العمليات كذلك باستخدام pandas هل تقصد الحفظ هكذا self.DF = pd.ExcelWriter('test.xlsx', engine='openpyxl') إذا كان هكذا فعند فتح ملف الإكسيل تظهر رسالة بأن الملف تالف تم التعديل في 1 فبراير بواسطة Ahmed Ahmed64 اقتباس
0 El Sayed El Tohamy نشر 1 فبراير أرسل تقرير نشر 1 فبراير إليك بعض الشيفرات التي تساعدك في إنجاز مهتمك # استيراد المكتبات اللازمة import pandas as pd from openpyxl import load_workbook from openpyxl.styles import Font, PatternFill, Border, Side, Alignment # إنشاء كائن ExcelWriter باستخدام محرك openpyxl writer = pd.ExcelWriter('test.xlsx', engine='openpyxl') # حفظ DataFrame كملف إكسيل باستخدام الكائن ExcelWriter DF.to_excel(writer, sheet_name='Sheet1', index=False) # الحصول على كائن workbook من الكائن ExcelWriter wb = writer.book # الحصول على كائن worksheet من الكائن workbook ws = wb['Sheet1'] data_font = Font(size=10, color='000000') for row in ws.iter_rows(): for cell in row: cell.font = data_font # حفظ الكائن ExcelWriter لتطبيق التغييرات على الملف writer.save() لاحظ أننا أنشأنا كائن writer ثم قمنا بحفظ بيانات DF في ملف إكسيل جديد، ثم حصلنا على كائن workbook أسميناه wb، ثم أنشأنا كائن ws، ثم بدأنا في تطبيق التصميم المطلوب، وبالآخر الحفظ باستخدام writer 1 اقتباس
0 Ahmed Ahmed64 نشر 1 فبراير الكاتب أرسل تقرير نشر 1 فبراير بتاريخ 19 دقائق مضت قال El Sayed El Tohamy: إليك بعض الشيفرات التي تساعدك في إنجاز مهتمك # استيراد المكتبات اللازمة import pandas as pd from openpyxl import load_workbook from openpyxl.styles import Font, PatternFill, Border, Side, Alignment # إنشاء كائن ExcelWriter باستخدام محرك openpyxl writer = pd.ExcelWriter('test.xlsx', engine='openpyxl') # حفظ DataFrame كملف إكسيل باستخدام الكائن ExcelWriter DF.to_excel(writer, sheet_name='Sheet1', index=False) # الحصول على كائن workbook من الكائن ExcelWriter wb = writer.book # الحصول على كائن worksheet من الكائن workbook ws = wb['Sheet1'] data_font = Font(size=10, color='000000') for row in ws.iter_rows(): for cell in row: cell.font = data_font # حفظ الكائن ExcelWriter لتطبيق التغييرات على الملف writer.save() لاحظ أننا أنشأنا كائن writer ثم قمنا بحفظ بيانات DF في ملف إكسيل جديد، ثم حصلنا على كائن workbook أسميناه wb، ثم أنشأنا كائن ws، ثم بدأنا في تطبيق التصميم المطلوب، وبالآخر الحفظ باستخدام writer أستاذي لدي هذه الشفرة كيف أقوم بالأمر عليها لكي يتضح لي شرحك أكثر فا أكثر وأسف على الإطالة 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() اقتباس
0 El Sayed El Tohamy نشر 1 فبراير أرسل تقرير نشر 1 فبراير بتاريخ 36 دقائق مضت قال Ahmed Ahmed64: أستاذي لدي هذه الشفرة كيف أقوم بالأمر عليها لكي يتضح لي شرحك أكثر فا أكثر وأسف على الإطالة احذف السطر الأخير واكتب الشيفرات التي أرسلتها لك بدلاً منه مع استبدال DF بالاسم الموجود لديك وهو df 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) # اكتب الشيفرات هنا ولا تنس استيراد المكتبات اقتباس
0 Ahmed Ahmed64 نشر 1 فبراير الكاتب أرسل تقرير نشر 1 فبراير بتاريخ 2 دقائق مضت قال El Sayed El Tohamy: احذف السطر الأخير واكتب الشيفرات التي أرسلتها لك بدلاً منه مع استبدال DF بالاسم الموجود لديك وهو df 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() اقتباس
0 El Sayed El Tohamy نشر 1 فبراير أرسل تقرير نشر 1 فبراير أحييك على مجهودك وصبرك، وهذا هو حال تطوير البرمجيات يحتاج صبرًا هائلًا، هل الشيفرات تعمل أم تعطي لديك خطأً؟ 1 اقتباس
0 Ahmed Ahmed64 نشر 1 فبراير الكاتب أرسل تقرير نشر 1 فبراير بتاريخ 4 دقائق مضت قال El Sayed El Tohamy: أحييك على مجهودك وصبرك، وهذا هو حال تطوير البرمجيات يحتاج صبرًا هائلًا، هل الشيفرات تعمل أم تعطي لديك خطأً؟ نعم لدي خطأ فيما يخص أخر سطر AttributeError: 'OpenpyxlWriter' object has no attribute 'save'. Did you mean: '_save'? اقتباس
0 El Sayed El Tohamy نشر 1 فبراير أرسل تقرير نشر 1 فبراير بتاريخ 2 دقائق مضت قال Ahmed Ahmed64: AttributeError: 'OpenpyxlWriter' object has no attribute 'save'. Did you mean: '_save يبدو أنك تستخدم إصدارًا قديمًا من مكتبة pandas، قم بتحديثها، أو يمكنك استخدام أمر الإغلاق بدلاً من الحفظ writer.close() 1 اقتباس
0 Ahmed Ahmed64 نشر 1 فبراير الكاتب أرسل تقرير نشر 1 فبراير (معدل) بتاريخ 36 دقائق مضت قال El Sayed El Tohamy: يبدو أنك تستخدم إصدارًا قديمًا من مكتبة pandas، قم بتحديثها، أو يمكنك استخدام أمر الإغلاق بدلاً من الحفظ writer.close() شكرا جزيلا على لطفك ودعمك ,,, أشكرك كل الشكر عفوا أستاذي سؤال أخر لو تكرمت بحثت ولم أجد إجابة له في برنامج Microsoft Office Excel هناك خيار داخل تبويب تخطيط الصفحة خاص بقلب ورقة العمل من اليمين لليسار كيف أنفذ هذا باستخدام مكتبة Openpyxl تم التعديل في 1 فبراير بواسطة Ahmed Ahmed64 اقتباس
0 El Sayed El Tohamy نشر 1 فبراير أرسل تقرير نشر 1 فبراير بتاريخ 49 دقائق مضت قال Ahmed Ahmed64: في برنامج Microsoft Office Excel هناك خيار داخل تبويب تخطيط الصفحة خاص بقلب ورقة العمل من اليمين لليسار كيف أنفذ هذا باستخدام مكتبة Openpyxl هل بحثت عن using Openpyxl, change excel direction from left to right 1 اقتباس
0 Ahmed Ahmed64 نشر 1 فبراير الكاتب أرسل تقرير نشر 1 فبراير بتاريخ 1 ساعة قال El Sayed El Tohamy: هل بحثت عن using Openpyxl, change excel direction from left to right أحسنت أستاذي بارك الله فيك ws.sheet_view.rightToLeft = True 1 اقتباس
السؤال
Ahmed Ahmed64
السلام عليكم ورحمة الله وبركاته
سؤال وأرجو التوضيح عليه ولو بشيء مبسط
سؤال كالتالي:
لقد قمت بإنشاء ملف إكسيل من خلال DataFrame ولقد استخدمت مكتبة pandas في هذا
أحتاج إلى كود يقوم بتنسيق شكل الأعمدة كا حجم العمود ولون الخلايا وهكذا مثلاً
أعلم أن مكتبة openpyxl مرنة أكثر في التنسيق
هل يمكن القيام بذلك من خلال مكتبة pandas إذا كان الجواب لا
كيف أقوم بربط pandas مع openpyxl أي مثلا كيف أتعامل مع اسم ورقة العمل تم جلبها بمكتبة pandas لأشاركها مع مكتبة openpyxl لأقوم بالتنسيق عليها
14 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.