Python kullanarak bir Excel Dosyasını bir Veritabanı Tablosuna Nasıl Aktarırsınız
Gunumuzun veri odakli dunyasinda, veri işleme ve yonetimi her turlu organizasyon veya birey icin temel gorevlerdir. Python, zengin kütüphane ekosistemiyle, pandas kütüphanesi gibi veri manipülasyonu ve yönetimi için güçlü araçlar sunar. Yaygin bir senaryo, Excel elektronik tablolardan veri cikarma veya ithal etme ihtiyaçi ve verilerin daha fazla analiz veya baska sistemlerle entegrasyon icin bir veritabaninda saklanmasi veya yerlestirilmesidir. Bu eğitimde, Excel dosyasindan veriyi otomatik olarak okuyup bir veritabanina yerlestiren bir Python betigi oluşturmayi kesfedecegiz. Bu eğitimin sonunda, veri tasima islerini verimli bir sekilde yapmaya hazır olacaksiniz. Başlayalım!
Python Kullanarak Excel Dosyasını Veritabanı Tablosuna Aktarma
- Oncelikle, IronXL kutuphanesini yukleyin.
- IronXL kullanarak Excel dosyanizi belleğe yukleyin.
- Calismak istediginiz belirli elektronik tabloyu yukleyin.
- Icinde ithal edeceginiz kesin veri araligini secin.
- Python kullanarak herhangi bir veritabanı baglantisi, örneğin SQLite veya MySQL baglantisi kurun.
- Ithâl edilen verilere uygun bir tabla ihtiyaçını karşılamak icin SQLite veritabaninizda yeni bir tablo oluşturun.
- Excel dosyasindan secilen satirlari yeni oluşturulan SQLite tablosuna yerlestirin.
- Daha fazla analiz veya işleme icin oluşturulan SQLite tablosundan verileri alin ve secin.
IronXL, Excel dosyalarinii verimli bir sekilde işleme becerisiyle taninan bir Python kutuphanesidir ve bu eğitimde kullanilacaktir. IronXL'yi betigimize entegre ederek, Excel elektronik tablolarindan veri cikartmayi, veritabanina sorunsuz bir sekilde yerlestirme işlemiyle verilerin daha fazla analiz ve işleme icin hazır olmasini saglariz.
IronXL nedir?
IronXL, Iron Software tarafindan geliştirilmis bir Python kutuphanesidir ve Python uygulamalari icinde Excel dosyalarini okuya, urete ve duzenlemenin guclu bir yöntemini sunar. Özellikle, IronXL kurulum basitligi ve farkli ortamlara uyarlenmesi bakimindan Microsoft Excel kurulumundan bagimsizdir. IronXL ile geliştiriciler söyle yararlanabilirler:
Çok Platform Destegi: Windows, macOS, Linux, Docker, Azure ve AWS platformlarinda kesintisiz calisma, çeşitli geliştirme ayarlarina adaptasyon saglar.
Veri Ithalat ve Ihracati: XLS, XLSX, CSV ve TSV dosyalarindan veri ithalatini kolayca yonetin, bu formatlara ve hatta JSON dosyalarina duzenlemeler yapma esnekligiyle tablo ihracatini saglayin.
Sifreleme Özellikleri: IronXL'nin şifreleme yeteneklerinden yararlanarak veri guvenliginizi saglayin, XLSX, XLSM ve XLTX dosyalarini parolalar ile koruyun.
Formuller ve Yeniden Hesaplama: Excel formulleri ile sorunsuz calisin, her sayfa düzenlendiğinde otomatik yeniden hesaplama ek faydasıyla, veri manipülasyonunda dogruluk ve guvenirlik saglayin.
Hucre Stili: Excel belgelerinizin gorunusünü iyilestirin, font stilleri, boyutlar, arka plan desenleri, kenar cizgileri ve hizalama ayarlarini yaparak bireysel hucrelerin gorunumunu ozellestirin.
Genis Gama Belge Formati: XLS, XLSX, XLST, XLSM, CSV ve TSV dahil çeşitli formatlar icin destek sunarak, IronXL geliştiricilerin verileri coklu senaryoda kolaylik ve verimlilikle yonetmelerini saglar.
Simdi IronXL kutuphanesini yuklemeye başlayalim.
Adım 1: IronXL Kutuphanesi Yükleyin
Ilk adim IronXL kutuphanesini yuklemektir. Komut isteminde IronXL'yi yuklemek icin asagidaki komutu calistirin.
pip install IronXLpip install IronXLAdım 2: Excel Çalışma Kitabını Yükleyin
Sonraki adim Excel dosyasini yüklemektir. Bu eğitimde asagidaki Excel dosyasini kullanacagiz.

Asagidaki kod, mevcut Excel dosyasini belleğe yukler.
from ironxl import * # Supported for XLSX, XLS, XLSM, XLTX, CSV, and TSV
# Assign a license key (retrieved from IronXL website)
License.LicenseKey = "IRONSUITE.ABC.XYZ.COM.15796-DEPLOYMENT.TRIAL-5X63V4.TRIAL.EXPIRES.27.MAY.2024"
# Load the Excel workbook into memory
workbook = WorkBook.Load("sample_excel.xlsx")from ironxl import * # Supported for XLSX, XLS, XLSM, XLTX, CSV, and TSV
# Assign a license key (retrieved from IronXL website)
License.LicenseKey = "IRONSUITE.ABC.XYZ.COM.15796-DEPLOYMENT.TRIAL-5X63V4.TRIAL.EXPIRES.27.MAY.2024"
# Load the Excel workbook into memory
workbook = WorkBook.Load("sample_excel.xlsx")Yukarıda Python kod parcacigi, IronXL kutuphanesini kullanarak 'sample_excel.xlsx' adli Excel calisma kitabini yuklemeyi göstermektedir. Oncelikle, IronXL'den gerekli Python modulu ithal edilir. Sonra, kutuphane kullanımını doğrulamak icin bir lisans anahtari atanir. IronXL Websitesinden ücretsiz lisans anahtarınızı alabilirsiniz. Son olarak, belirtilen Excel çalışma kitabını belleğe açmak ve yüklemek için Load yöntemi kullanılır. Veri okuma, hucre degerlerini değiştirme veya bicimlendirme uygulaması gibi icerigin programatik olarak işlemesine olanak tanır.
Adım 3: Çalışma Sayfası Seçme
IronXL kullanarak bir Excel calisma kitabinda bir calisma sayfasi secmek icin calisma sayfasi indeksini veya adini belirtebilirsiniz.
# Select the first worksheet in the loaded Excel workbook
worksheet = workbook.WorkSheets[0]# Select the first worksheet in the loaded Excel workbook
worksheet = workbook.WorkSheets[0]Bu satır, yüklenen Excel çalışma kitabında ilk çalışma sayfasını seçer ve onu worksheet değişkenine atar, böylece çalışma kitabındaki o belirli çalışma sayfası üzerinde sonraki işlemler gerçekleştirilebilir. Bu, bir Excel sayfasindan bir calisma sayfasi degiskenine Excel verilerini yukler.
Adım 4: Veritabanı Bağlantısını Açın
Bu eğitimde, MySQL veritabanı sunucusu yerine SQLite veritabanini kullaniyoruz. Veritabanı işlemlerini başlatmak için, veritabanına bir bağlantı kurarak başlıyoruz.
import sqlite3
# Connect to SQLite database (or create it if it doesn't exist)
conn = sqlite3.connect('data.db')import sqlite3
# Connect to SQLite database (or create it if it doesn't exist)
conn = sqlite3.connect('data.db')Yukarıdaki satır, 'data.db' adında bir SQLite veritabanına bir bağlantı oluşturur. Belirtilen veritabanı mevcut değilse, otomatik olarak oluşturulacaktır. Bu bağlantı, sorguların çalıştırılması ve veri manipülasyon işlemlerinin yapılması gibi SQLite veritabanı ile sonraki etkileşime olanak tanır.
Adım 5: Tablo Oluşturma
Bir Excel dosyasindan veri ithal edecegimiz veritabaninda bir tablonun oluşturulmasi bir sonraki adımdir. SQLite veritabaninda bir tablo oluşturmak icin baglanti nesnesini kullanarak bir SQL beyanı yurutebilirsiniz.
# Create a cursor object for database operations
cursor = conn.cursor()
# Define and execute SQL to create a table if it doesn't exist
cursor.execute('''
CREATE TABLE IF NOT EXISTS customer (
id INTEGER,
FirstName TEXT,
LastName TEXT,
Gender TEXT,
Country TEXT,
Age INTEGER
)
''')# Create a cursor object for database operations
cursor = conn.cursor()
# Define and execute SQL to create a table if it doesn't exist
cursor.execute('''
CREATE TABLE IF NOT EXISTS customer (
id INTEGER,
FirstName TEXT,
LastName TEXT,
Gender TEXT,
Country TEXT,
Age INTEGER
)
''')Yukarıdaki kod satiri, SQLite veritabanı bağlantısı içerisinde SQL komutlarını yürütmek için bir imleç nesnesini başlatır. 'customer' adında, 'id', 'FirstName', 'LastName', 'Gender', 'Country' ve 'Age' sütunlarına sahip bir tablo oluşturur. Tablo, belirtilen sütun veri türlerine uyularak henüz mevcut degilse oluşturulur.
Adım 6: Verileri Python Kullanarak Veritabanına İthal Etmek
Şimdi, yeni oluşturulan tablomuzda veri ekleyecegiz. Bir Excel dosyası ithal edecegiz ve verilerini SQLite veritabanına yerleştirecegiz.
# Iteratively insert data from Excel worksheet into SQLite database
for i in range(2, 11):
# Extracting values from columns A to F in Excel worksheet
values_tuple = (
worksheet[f"A{i}"].StringValue,
worksheet[f"B{i}"].StringValue,
worksheet[f"C{i}"].StringValue,
worksheet[f"D{i}"].StringValue,
worksheet[f"E{i}"].StringValue,
worksheet[f"F{i}"].StringValue
)
# Executing SQL INSERT command
cursor.execute("INSERT INTO customer VALUES (?, ?, ?, ?, ?, ?)", values_tuple)
# Commit data insertion to the database
conn.commit()# Iteratively insert data from Excel worksheet into SQLite database
for i in range(2, 11):
# Extracting values from columns A to F in Excel worksheet
values_tuple = (
worksheet[f"A{i}"].StringValue,
worksheet[f"B{i}"].StringValue,
worksheet[f"C{i}"].StringValue,
worksheet[f"D{i}"].StringValue,
worksheet[f"E{i}"].StringValue,
worksheet[f"F{i}"].StringValue
)
# Executing SQL INSERT command
cursor.execute("INSERT INTO customer VALUES (?, ?, ?, ?, ?, ?)", values_tuple)
# Commit data insertion to the database
conn.commit()Yukarıdaki kod, Excel çalışma sayfasında satir 2'den 10'a kadar yineleyerek, her satir icin A'dan F'ye kadar olan sütunlardan degerleri cıkarır. Bu degerler, 'customer' tablosuna yerlestirilecek veriyi temsil eden bir tupte saklanir. Sonra, imlec bir SQL INSERT komutü yurutur ve degerler tupünü tabloya yerlestirir. Bu surec her satir için tekrarlanir ve Excel dosyasından verileri etkili bir şekilde SQLite veritabanına aktarir. Son olarak, conn.commit() işlemi onaylayarak, değişikliklerin kaydedilmesini ve veritabanında kalıcı hale gelmesini sağlar.
Adım 7: Veritabanından Veri Okuma
Verilerin dogru bir sekilde yerleştirilip yerlestirilmedigini dőgrulamak icin, SQLite veritabanındaki 'customer' tablosundan SELECT sorgusu kullanarak veri okuyabilirsiniz. Örneğin:
# Execute a SELECT query to retrieve all data from the 'customer' table
cursor.execute("SELECT * FROM customer")
# Fetch all rows from the result set
rows = cursor.fetchall()
# Print each row to verify inserted data
for row in rows:
print(row)
# Close the database connection to release resources
conn.close()# Execute a SELECT query to retrieve all data from the 'customer' table
cursor.execute("SELECT * FROM customer")
# Fetch all rows from the result set
rows = cursor.fetchall()
# Print each row to verify inserted data
for row in rows:
print(row)
# Close the database connection to release resources
conn.close()Yukarıdaki kod, SQLite veritabanındaki 'customer' tablosunda bir SELECT sorgusu çalısır ve tüm satırları alma işlemi yapar. Getirilen satırlar fetchall() yöntemi kullanılarak 'rows' değişkeninde depolanır. Daha sonra, her satir sırayla yazdırılır ve 'customer' tablosuna yerlestirilen veriler gōstrilebilir. Son olarak, kaynakları serbest bırakmak için close() yöntemi kullanılarak veritabanı bağlantısı kapatılır.

Tam Kod asagidaki gibidir:
import sqlite3
from ironxl import * # Supported for XLSX, XLS, XLSM, XLTX, CSV, and TSV
# Assign a license key (retrieved from IronXL website)
License.LicenseKey = "IRONSUITE.ABC.XYZ.COM.15796-DEPLOYMENT.TRIAL-5X63V4.TRIAL.EXPIRES.27.MAY.2024"
# Load the Excel workbook into memory
workbook = WorkBook.Load("sample_excel.xlsx")
# Select worksheet at index 0
worksheet = workbook.WorkSheets[0]
# Connect to SQLite database (or create it if it doesn't exist)
conn = sqlite3.connect('data.db')
# Create a cursor object for database operations
cursor = conn.cursor()
# Define and execute SQL to create a table if it doesn't exist
cursor.execute('''
CREATE TABLE IF NOT EXISTS customer (
id INTEGER,
FirstName TEXT,
LastName TEXT,
Gender TEXT,
Country TEXT,
Age INTEGER
)
''')
# Clear any existing data from the table
cursor.execute("DELETE FROM customer")
# Iteratively insert data from Excel worksheet into SQLite database
for i in range(2, 11):
# Extracting values from columns A to F in Excel worksheet
values_tuple = (
worksheet[f"A{i}"].StringValue,
worksheet[f"B{i}"].StringValue,
worksheet[f"C{i}"].StringValue,
worksheet[f"D{i}"].StringValue,
worksheet[f"E{i}"].StringValue,
worksheet[f"F{i}"].StringValue
)
# Executing SQL INSERT command
cursor.execute("INSERT INTO customer VALUES (?, ?, ?, ?, ?, ?)", values_tuple)
# Commit data insertion to the database
conn.commit()
# Execute a SELECT query to retrieve all data from the 'customer' table
cursor.execute("SELECT * FROM customer")
# Fetch all rows from the result set
rows = cursor.fetchall()
# Print each row to verify inserted data
for row in rows:
print(row)
# Close the database connection to release resources
conn.close()import sqlite3
from ironxl import * # Supported for XLSX, XLS, XLSM, XLTX, CSV, and TSV
# Assign a license key (retrieved from IronXL website)
License.LicenseKey = "IRONSUITE.ABC.XYZ.COM.15796-DEPLOYMENT.TRIAL-5X63V4.TRIAL.EXPIRES.27.MAY.2024"
# Load the Excel workbook into memory
workbook = WorkBook.Load("sample_excel.xlsx")
# Select worksheet at index 0
worksheet = workbook.WorkSheets[0]
# Connect to SQLite database (or create it if it doesn't exist)
conn = sqlite3.connect('data.db')
# Create a cursor object for database operations
cursor = conn.cursor()
# Define and execute SQL to create a table if it doesn't exist
cursor.execute('''
CREATE TABLE IF NOT EXISTS customer (
id INTEGER,
FirstName TEXT,
LastName TEXT,
Gender TEXT,
Country TEXT,
Age INTEGER
)
''')
# Clear any existing data from the table
cursor.execute("DELETE FROM customer")
# Iteratively insert data from Excel worksheet into SQLite database
for i in range(2, 11):
# Extracting values from columns A to F in Excel worksheet
values_tuple = (
worksheet[f"A{i}"].StringValue,
worksheet[f"B{i}"].StringValue,
worksheet[f"C{i}"].StringValue,
worksheet[f"D{i}"].StringValue,
worksheet[f"E{i}"].StringValue,
worksheet[f"F{i}"].StringValue
)
# Executing SQL INSERT command
cursor.execute("INSERT INTO customer VALUES (?, ?, ?, ?, ?, ?)", values_tuple)
# Commit data insertion to the database
conn.commit()
# Execute a SELECT query to retrieve all data from the 'customer' table
cursor.execute("SELECT * FROM customer")
# Fetch all rows from the result set
rows = cursor.fetchall()
# Print each row to verify inserted data
for row in rows:
print(row)
# Close the database connection to release resources
conn.close()Sonuç
Sonuç olarak, bu öğreticide otomatik bir veri manipülasyon yaklaşımı, özellikle Excel verilerinin bir veritabanına çekilmesi ve yerleştirilmesi anlatılmıştir. Bu süreç yalnızca veri yonetiminin verimliligini artırmakla kalmaz, aynı zamanda veri işlemleri icin tam potansiyelini aciga cikarır. Python ve IronXL gücünü kullanarak veri iş akıslarinizi optimize edin ve projelerinizi güvenle ileriye taşıyın.
Sıkça Sorulan Sorular
Python kullanarak Excel dosyasından verileri veritabanına nasıl aktarırım?
Önce `WorkBook.Load()` ile Excel dosyasını yükleyerek, ardından çalışma sayfasını seçip verileri eklemek için SQLite ile bir veritabanı bağlantısı kurarak IronXL kütüphanesini kullanarak veri aktarabilirsiniz.
Python'da Excel dosyalarını ele almak için IronXL kullanmanın faydaları nelerdir?
IronXL, Microsoft Excel yüklü olmasına gerek kalmadan Excel dosyalarını işlemenizi sağlar, çapraz platform işlemlerini destekler, şifreleme ve formül yeniden hesaplamaları gibi sağlam özellikler sunar ve veri çıkarma ve ekleme işlemlerini verimli bir şekilde yönetir.
Python projelerinde kullanmak için IronXL nasıl kurulur?
Python projeleri için IronXL'i yüklemek için şu komutu kullanabilirsiniz: `pip install IronXL`. Bu, Excel dosyalarını verimli bir şekilde işlemenizi sağlayarak IronXL'i Python ortamınıza ekler.
Microsoft Excel yüklü olmadan Python'da Excel dosyalarını işlemek mümkün mü?
Evet, IronXL'i kullanarak Microsoft Excel yüklü olmadan Excel dosyalarını işleyebilirsiniz. IronXL, Excel dosyalarını bağımsız olarak okumak, düzenlemek ve yazmak için gerekli tüm işlevleri sağlar.
Python'da Excel verilerini depolamak için bir veritabanı tablosu oluşturma süreci nedir?
Python'da bir veritabanı tablosu oluşturmak için SQLite `sqlite3` modülünü kullanabilirsiniz. `connect()` kullanarak bir bağlantı kurduktan sonra, bir cursor nesnesi aracılığıyla bir SQL `CREATE TABLE` ifadesi yürütün.
Excel verilerinin bir SQLite veritabanına başarıyla eklenip eklenmediğini nasıl doğrularım?
Tabloda bir `SELECT` sorgusu yürüterek ve `fetchall()` yöntemi ile sonuç kümesindeki tüm satırları alıp yazdırarak eklemeyi doğrulayabilirsiniz.
Verilerin Excel'den bir veritabanına Python kullanarak taşınması için hangi adımlar izlenmelidir?
Adımlar arasında IronXL'in yüklenmesi, Excel dosyasının yüklenmesi, çalışma sayfasının seçilmesi, veritabanına bağlanılması, bir tablonun oluşturulması ve SQL `INSERT` komutları kullanılarak verileri eklemek için Excel satırları üzerinde dolaşılması bulunur.
IronXL, Excel formüllerini işleyip Python'da yeniden hesaplayabilir mi?
Evet, IronXL Excel formüllerini destekler ve yeniden hesaplayabilen kapsamlı bir çözüm sunar, bu da Python uygulamalarında Excel dosyası düzenleme için uygundur.
IronXL, Excel dosyalarını işlemek için çapraz platform işlemlerini destekler mi?
Evet, IronXL Windows, macOS, Linux, Docker, Azure ve AWS gibi ortamlar dahil çapraz platform işlemlerini destekler, bu da çeşitli geliştirme kurulumları için çok yönlü bir seçim yapar.
IronXL, Python uygulamalarında veri iş akışlarını nasıl geliştirir?
IronXL, verimli veri çıkarma, manipülasyon ve ekleme yetenekleri sunarak veri işleme süreçlerini optimize eder ve veri odaklı uygulamaların performansını artırır.









