آموزش استفاده و ایجاد فایل Excel در پایتون

Excel یکی از پرکاربردترین نرمافزارهای مدیریت دادهها است که به طور گسترده در تحلیل دادهها، گزارشگیری و ذخیرهسازی اطلاعات استفاده میشود. با استفاده از پایتون، میتوانید به راحتی فایلهای Excel را خوانده، ویرایش کرده و ایجاد کنید. در این مقاله، نحوه استفاده از کتابخانههای پایتون برای کار با فایلهای Excel را آموزش میدهیم و در انتها یک پروژه عملی پیادهسازی میکنیم.
سرفصلها
- معرفی کتابخانههای پایتون برای کار با Excel
- خواندن و نوشتن فایل Excel در پایتون
- پروژه کاربردی: مدیریت اطلاعات کارمندان با Excel
- شرح پروژه
- روش حل
- سورس کد
- توضیح توابع
1. معرفی کتابخانههای پایتون برای کار با Excel
برای کار با فایلهای Excel در پایتون، از کتابخانههای مختلفی میتوان استفاده کرد. دو کتابخانه معروف عبارتند از:
1. openpyxl
- این کتابخانه برای کار با فایلهای Excel با فرمت
xlsx.
استفاده میشود. - قابلیت خواندن، نوشتن و ویرایش فایلهای Excel را فراهم میکند.
2. pandas
- این کتابخانه برای تحلیل دادهها و کار با جداول استفاده میشود.
- با استفاده از
pandas
میتوانید دادهها را به صورت DataFrame مدیریت کرده و به راحتی به فایلهای Excel خوانده یا نوشته شوند.
2. خواندن و نوشتن فایل Excel در پایتون
نصب کتابخانهها
قبل از شروع، باید کتابخانههای مورد نیاز را نصب کنید:
pip install openpyxl pandas
خواندن فایل Excel با pandas
برای خواندن دادهها از یک فایل Excel، از تابع ()pandas.read_excel
استفاده میکنیم.
مثال:
import pandas as pd
# خواندن فایل Excel
data = pd.read_excel('data.xlsx')
# نمایش دادهها
print(data)
نوشتن فایل Excel با pandas
برای ذخیره دادهها در یک فایل Excel، از تابع ()DataFrame.to_excel
استفاده میکنیم.
مثال:
import pandas as pd
# ایجاد یک DataFrame
data = {
"Name": ["Ali", "Reza", "Sara"],
"Age": [25, 30, 22],
"City": ["Tehran", "Isfahan", "Shiraz"]
}
df = pd.DataFrame(data)
# ذخیره دادهها در فایل Excel
df.to_excel('output.xlsx', index=False)
خواندن و نوشتن فایل Excel با openpyxl
برای کار مستقیم با سلولهای Excel، از openpyxl
استفاده میکنیم.
مثال خواندن:
from openpyxl import load_workbook
# بارگذاری فایل Excel
wb = load_workbook('data.xlsx')
sheet = wb.active
# خواندن دادهها
for row in sheet.iter_rows(values_only=True):
print(row)
مثال نوشتن:
from openpyxl import Workbook
# ایجاد یک فایل Excel جدید
wb = Workbook()
sheet = wb.active
# اضافه کردن دادهها
sheet.append(["Name", "Age", "City"])
sheet.append(["Ali", 25, "Tehran"])
sheet.append(["Reza", 30, "Isfahan"])
# ذخیره فایل
wb.save('output.xlsx')
3. پروژه کاربردی: مدیریت اطلاعات کارمندان با Excel
شرح پروژه
هدف این پروژه، ایجاد یک سیستم ساده برای مدیریت اطلاعات کارمندان یک شرکت است. این سیستم باید قادر به انجام عملیات زیر باشد:
- افزودن اطلاعات یک کارمند (نام، سن، شهر).
- نمایش اطلاعات تمام کارمندان.
- ذخیرهسازی اطلاعات در یک فایل Excel.
- بارگذاری اطلاعات از فایل Excel.
روش حل
- از کتابخانه
pandas
برای خواندن و نوشتن دادهها در فایل Excel استفاده میکنیم. - اطلاعات هر کارمند را به صورت یک ردیف در جدول Excel ذخیره میکنیم.
- برای ذخیرهسازی و بارگذاری اطلاعات، از فایل Excel استفاده میکنیم.
- از توابع جداگانه برای هر عملیات (افزودن، نمایش، ذخیره و بارگذاری) استفاده میکنیم.
سورس کد
import pandas as pd
import os
# تابع برای بارگذاری اطلاعات از فایل Excel
def load_employees():
if os.path.exists('employees.xlsx'):
return pd.read_excel('employees.xlsx')
return pd.DataFrame(columns=["Name", "Age", "City"])
# تابع برای ذخیره اطلاعات در فایل Excel
def save_employees(df):
df.to_excel('employees.xlsx', index=False)
# تابع برای افزودن کارمند
def add_employee(df):
name = input("Enter employee's name: ")
age = int(input("Enter employee's age: "))
city = input("Enter employee's city: ")
new_employee = {"Name": name, "Age": age, "City": city}
df = df.append(new_employee, ignore_index=True)
print("Employee added successfully!")
return df
# تابع برای نمایش اطلاعات کارمندان
def show_employees(df):
if df.empty:
print("No employees found.")
return
print(df)
# تابع اصلی
def main():
df = load_employees()
while True:
print("\nEmployee Management System")
print("1. Add Employee")
print("2. Show Employees")
print("3. Save and Exit")
choice = input("Enter your choice: ")
if choice == '1':
df = add_employee(df)
elif choice == '2':
show_employees(df)
elif choice == '3':
save_employees(df)
print("Data saved. Exiting...")
break
else:
print("Invalid choice. Please try again.")
if __name__ == "__main__":
main()
توضیح توابع
()load_employees
- این تابع بررسی میکند که آیا فایل
employees.xlsx
وجود دارد یا خیر. - اگر فایل وجود داشته باشد، دادههای آن را با استفاده از
pandas.read_excel()
میخواند. - اگر فایل وجود نداشته باشد، یک DataFrame خالی با ستونهای مشخص ایجاد میکند.
- این تابع بررسی میکند که آیا فایل
save_employees(df)
- این تابع DataFrame حاوی اطلاعات کارمندان را به فایل
employees.xlsx
ذخیره میکند.
- این تابع DataFrame حاوی اطلاعات کارمندان را به فایل
add_employee(df)
- این تابع اطلاعات یک کارمند (نام، سن و شهر) را از کاربر دریافت کرده و به DataFrame اضافه میکند.
show_employees(df)
- این تابع اطلاعات تمام کارمندان موجود در DataFrame را نمایش میدهد.
()main
- این تابع منوی اصلی برنامه را اجرا میکند و به کاربر اجازه میدهد عملیات مختلف را انجام دهد.
نتیجهگیری
در این مقاله، نحوه استفاده از فایلهای Excel در پایتون را آموختیم و یک پروژه عملی برای مدیریت اطلاعات کارمندان پیادهسازی کردیم. این پروژه نشان داد که چگونه میتوان از کتابخانههای pandas
و openpyxl
برای خواندن، نوشتن و مدیریت دادهها در فایلهای Excel استفاده کرد.
دیدگاهتان را بنویسید