برای ذخیره دادههای اکسل در پایگاه داده با openpyxl در پایتون، میتوانید مراحل زیر را دنبال کنید. در این مثال، ما از SQLite به عنوان پایگاه داده استفاده خواهیم کرد، اما میتوانید از هر پایگاه داده دیگری نیز استفاده کنید.
سرفصل های مقاله
۱. نصب وابستگیها
حداقل نیاز دارید openpyxl و sqlite3 (که در پایتون به طور پیشفرض موجود است):
pip install openpyxl
۲. بارگذاری دادههای اکسل
ابتدا با استفاده از openpyxl دادهها را از فایل اکسل بارگذاری کنید:
import openpyxl
# بارگذاری فایل اکسل
workbook = openpyxl.load_workbook('data.xlsx')
sheet = workbook.active # انتخاب شیت فعال
۳. اتصال به پایگاه داده
در ادامه، اتصال به پایگاه داده را برقرار کنید:
import sqlite3
# اتصال به پایگاه داده SQLite
conn = sqlite3.connect('database.db')
cursor = conn.cursor()
# ایجاد جدول (در صورت نیاز)
cursor.execute('''
CREATE TABLE IF NOT EXISTS data_table (
id INTEGER PRIMARY KEY AUTOINCREMENT,
column1 TEXT,
column2 TEXT,
column3 TEXT
)
''')
۴. ذخیره دادهها در پایگاه داده
حالا وقت آن است که دادهها را از اکسل خوانده و در پایگاه داده ذخیره کنیم:
# خواندن دادهها از اکسل و ذخیره در پایگاه داده
for row in sheet.iter_rows(min_row=2, values_only=True): # فرض میکنیم ردیف اول هدر است
cursor.execute('''
INSERT INTO data_table (column1, column2, column3)
VALUES (?, ?, ?)
''', row)
# ذخیره تغییرات
conn.commit()
۵. بستن اتصال
پس از اتمام کار، بهتر است اتصال به پایگاه داده را ببندید:
conn.close()
مثال کامل
در اینجا یک مثال کامل از کد آورده شده است:
import openpyxl
import sqlite3
# بارگذاری فایل اکسل
workbook = openpyxl.load_workbook('data.xlsx')
sheet = workbook.active
# اتصال به پایگاه داده SQLite
conn = sqlite3.connect('database.db')
cursor = conn.cursor()
# ایجاد جدول در صورت نیاز
cursor.execute('''
CREATE TABLE IF NOT EXISTS data_table (
id INTEGER PRIMARY KEY AUTOINCREMENT,
column1 TEXT,
column2 TEXT,
column3 TEXT
)
''')
# خواندن دادهها از اکسل و ذخیره در پایگاه داده
for row in sheet.iter_rows(min_row=2, values_only=True):
cursor.execute('''
INSERT INTO data_table (column1, column2, column3)
VALUES (?, ?, ?)
''', row)
# ذخیره تغییرات و بستن اتصال
conn.commit()
conn.close()
نتیجه گیری
با ذخیره دادههای اکسل در پایگاه داده با openpyxl و پایتون به راحتی دادههای موجود در فایلهای اکسل را به پایگاه داده منتقل کنید. در صورت استفاده از پایگاه دادههای دیگر، فقط تنظیمات اتصال و دستورات SQL را متناسب با آن تغییر دهید.