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

مكتبة openpyxl

Ahmed Ahmed64

السؤال

السلام عليكم

لدي ملف إكسل

إستخدمت مكتبة openpyxl في إستدعائه

بهذه الكود

DB=load_workbook("إسم الملف")
DS=DB["إسم ورقة العمل"]

حيث أني قمت بإستدعاء الملف ومن ثم قمت بإستدعاء ورقة العمل التي أريد العمل عليها 

أود أن أحفظ نتيجة العمل في ملف إكسل منفرد جديد مع الشيت الذي عملت عليه فقط دون باقي أوراق العمل

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

Recommended Posts

  • 0

يمكنك القيام بذلك سواء بمكتبة 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)

 

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

  • 0

أشكرك على الإجابة الوافيه بارك الله فيك

أخي أحاول أن أطبق فكرة وأنا على يقين أنها لن تستصعب عليك

أخي أريد أن يتم العمل من خلال سكربت فقط

في البداية سوف أخرج رسالة للمستخدم يقوم بإدخال إسم الملف وعند الضغط 

تظهر أسماء أوراق العمل الخاصة بالملف على شكل إختيار

1 مثلا_ورقة عمل (1)

2 مثلا_ورقة عمل (2)

3 مثلا_ورقة عمل (3)

عند إختيار رقم 2 على سبيل المثال تتخزن القيمة في متغير DS

DS=DB["إسم ورقة العمل"]

كيف أقوم بعمل هذا السكربت الرجاء التوضيح

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

  • 0

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

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()

 

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

  • 0

ألف ألف شكر أخي شهاب

عفوا أخي شهاب كيف أحل مشكلة اللغة العربية

وأيضا الترمينال لا يقبل النسخ واللصق

كيف يتم معالجة هذا الأمر

تم التعديل في بواسطة Ahmed Ahmed64
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ منذ ساعة مضت قال 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

لو سمحت هل يمكن تفصيل لي الكود بشرح أكثر من ذلك

تحياتي لك

 

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...