Ahmed Ahmed64 نشر 27 نوفمبر 2023 أرسل تقرير نشر 27 نوفمبر 2023 السلام عليكم لدي ملف إكسل إستخدمت مكتبة openpyxl في إستدعائه بهذه الكود DB=load_workbook("إسم الملف") DS=DB["إسم ورقة العمل"] حيث أني قمت بإستدعاء الملف ومن ثم قمت بإستدعاء ورقة العمل التي أريد العمل عليها أود أن أحفظ نتيجة العمل في ملف إكسل منفرد جديد مع الشيت الذي عملت عليه فقط دون باقي أوراق العمل 1 اقتباس
0 Chihab Hedidi نشر 27 نوفمبر 2023 أرسل تقرير نشر 27 نوفمبر 2023 يمكنك القيام بذلك سواء بمكتبة openpyxl او pandas: بالطريقة التالية: from openpyxl import Workbook, load_workbook # استدعاء الملف وورقة العمل DB = load_workbook("اسم الملف.xlsx") DS = DB["اسم ورقة العمل"] # قم بتنفيذ العمليات التي تحتاج إليها على ورقة العمل # إنشاء ملف Excel جديد new_workbook = Workbook() new_sheet = new_workbook.active # نسخ البيانات من ورقة العمل الأصلية إلى ورقة العمل الجديدة for row in DS.iter_rows(values_only=True): new_sheet.append(row) # حفظ ملف Excel الجديد new_workbook.save("اسم ملف الحفظ.xlsx") اذا كنت تريد استخدام مكتبة pandas قم بالأمر التالي: import pandas as pd from openpyxl import load_workbook # استدعاء الملف وورقة العمل DB = load_workbook("اسم الملف.xlsx") DS = DB["اسم ورقة العمل"] # تحويل بيانات ورقة العمل إلى DataFrame data = DS.values columns = [cell.value for cell in next(data)] df = pd.DataFrame(data, columns=columns) # قم بتنفيذ العمليات التي تحتاج إليها على DataFrame # إنشاء ملف Excel جديد وحفظ DataFrame فيه df.to_excel("اسم ملف الحفظ.xlsx", index=False) 1 اقتباس
0 Ahmed Ahmed64 نشر 27 نوفمبر 2023 الكاتب أرسل تقرير نشر 27 نوفمبر 2023 أشكرك على الإجابة الوافيه بارك الله فيك أخي أحاول أن أطبق فكرة وأنا على يقين أنها لن تستصعب عليك أخي أريد أن يتم العمل من خلال سكربت فقط في البداية سوف أخرج رسالة للمستخدم يقوم بإدخال إسم الملف وعند الضغط تظهر أسماء أوراق العمل الخاصة بالملف على شكل إختيار 1 مثلا_ورقة عمل (1) 2 مثلا_ورقة عمل (2) 3 مثلا_ورقة عمل (3) عند إختيار رقم 2 على سبيل المثال تتخزن القيمة في متغير DS DS=DB["إسم ورقة العمل"] كيف أقوم بعمل هذا السكربت الرجاء التوضيح 1 اقتباس
0 Chihab Hedidi نشر 27 نوفمبر 2023 أرسل تقرير نشر 27 نوفمبر 2023 يمكنك القيام بذلك ستحتاج أولا لإستدعاء الملف للحصول على أسماء أوراق العمل، بعدها تعرضها للمستخدم من أجل اختيار الورقة المناسبة، و في الأخير نجري التغييرات و نسجلها في الملف الجديد: import os from openpyxl import load_workbook import pandas as pd def display_sheet_names(file_path): # استدعاء الملف DB = load_workbook(file_path) # الحصول على أسماء أوراق العمل sheet_names = DB.sheetnames print("أسماء أوراق العمل:") for i, sheet_name in enumerate(sheet_names, start=1): print(f"{i}. {sheet_name}") # اختيار ورقة العمل sheet_choice = int(input("الرجاء اختيار رقم الورقة: ")) selected_sheet_name = sheet_names[sheet_choice - 1] return DB[selected_sheet_name] def main(): # إدخال اسم الملف file_name = input("الرجاء إدخال اسم الملف: ") file_path = os.path.join(os.getcwd(), file_name) # عرض أسماء أوراق العمل واختيار ورقة العمل DS = display_sheet_names(file_path) # تحويل بيانات ورقة العمل إلى DataFrame data = DS.values columns = [cell.value for cell in next(data)] df = pd.DataFrame(data, columns=columns) # يمكنك هنا إجراء العمليات التي تحتاجها على DataFrame # إنشاء ملف Excel جديد وحفظ DataFrame فيه new_file_name = input("الرجاء إدخال اسم ملف الحفظ: ") new_file_path = os.path.join(os.getcwd(), new_file_name) df.to_excel(new_file_path, index=False) print(f"تم حفظ البيانات في ملف {new_file_name}") if __name__ == "__main__": main() 1 اقتباس
0 Ahmed Ahmed64 نشر 27 نوفمبر 2023 الكاتب أرسل تقرير نشر 27 نوفمبر 2023 (معدل) ألف ألف شكر أخي شهاب عفوا أخي شهاب كيف أحل مشكلة اللغة العربية وأيضا الترمينال لا يقبل النسخ واللصق كيف يتم معالجة هذا الأمر تم التعديل في 27 نوفمبر 2023 بواسطة Ahmed Ahmed64 اقتباس
0 Ahmed Ahmed64 نشر 27 نوفمبر 2023 الكاتب أرسل تقرير نشر 27 نوفمبر 2023 بتاريخ منذ ساعة مضت قال Chihab Hedidi: يمكنك القيام بذلك ستحتاج أولا لإستدعاء الملف للحصول على أسماء أوراق العمل، بعدها تعرضها للمستخدم من أجل اختيار الورقة المناسبة، و في الأخير نجري التغييرات و نسجلها في الملف الجديد: import os from openpyxl import load_workbook import pandas as pd def display_sheet_names(file_path): # استدعاء الملف DB = load_workbook(file_path) # الحصول على أسماء أوراق العمل sheet_names = DB.sheetnames print("أسماء أوراق العمل:") for i, sheet_name in enumerate(sheet_names, start=1): print(f"{i}. {sheet_name}") # اختيار ورقة العمل sheet_choice = int(input("الرجاء اختيار رقم الورقة: ")) selected_sheet_name = sheet_names[sheet_choice - 1] return DB[selected_sheet_name] def main(): # إدخال اسم الملف file_name = input("الرجاء إدخال اسم الملف: ") file_path = os.path.join(os.getcwd(), file_name) # عرض أسماء أوراق العمل واختيار ورقة العمل DS = display_sheet_names(file_path) # تحويل بيانات ورقة العمل إلى DataFrame data = DS.values columns = [cell.value for cell in next(data)] df = pd.DataFrame(data, columns=columns) # يمكنك هنا إجراء العمليات التي تحتاجها على DataFrame # إنشاء ملف Excel جديد وحفظ DataFrame فيه new_file_name = input("الرجاء إدخال اسم ملف الحفظ: ") new_file_path = os.path.join(os.getcwd(), new_file_name) df.to_excel(new_file_path, index=False) print(f"تم حفظ البيانات في ملف {new_file_name}") if __name__ == "__main__": main() أخي شكرا على المساعدة لماذا تم كتابة الكود من خلال def لو سمحت هل يمكن تفصيل لي الكود بشرح أكثر من ذلك تحياتي لك اقتباس
السؤال
Ahmed Ahmed64
السلام عليكم
لدي ملف إكسل
إستخدمت مكتبة openpyxl في إستدعائه
بهذه الكود
حيث أني قمت بإستدعاء الملف ومن ثم قمت بإستدعاء ورقة العمل التي أريد العمل عليها
أود أن أحفظ نتيجة العمل في ملف إكسل منفرد جديد مع الشيت الذي عملت عليه فقط دون باقي أوراق العمل
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.