Altbilgi içeriğine atla
PYTHON IçIN IRONXL KULLANıMı

Python kullanarak bir Excel Dosyasını bir Veritabanı Tablosuna Nasıl Aktarırsınız

Günümüzün veri odaklı dünyasında, verilerin verimli bir şekilde yönetilmesi ve işlenmesi, herhangi bir kuruluş veya birey için temel görevlerdir. Python, kütüphanelerinin zengin ekosistemiyle, veri manipülasyonu ve yönetimi için pandas kütüphanesi gibi güçlü araçlar sunar. Yaygın bir senaryo, Excel elektronik tablolarından veri çıkarmak veya veritabanında verileri saklamak veya diğer sistemlerle entegrasyon için eklemek gereğidir. Bu öğreticide, Excel sayfa dosyalarından veri okuma ve bir veritabanına yerleştirme işlemini otomatikleştiren bir Python betiği nasıl oluşturulacağını inceleyeceğiz. Bu öğreticinin sonunda, veri taşıma görevlerini verimli bir şekilde yönetmeye hazır olacaksınız. Başlayalım!

Python Kullanarak Bir Excel Dosyasını Veritabanı Tablosuna İçe Aktarma

  1. IronXL kütüphanesini yükleyerek başlayın.
  2. Excel dosyanızı IronXL kullanarak belleğe yükleyin.
  3. Çalışmak istediğiniz belirli elektronik tabloyu yükleyin.
  4. İçe aktaracağınız kesin veri aralığını seçin.
  5. Bir SQLite veya MySQL veritabanı bağlantısı gibi bir veritabanı ile bağlantı kurun.
  6. İçe aktarılan verileri barındırmak için SQLite veritabanınızda yeni bir tablo oluşturun.
  7. Excel dosyasından seçilen satırları yeni oluşturulan SQLite tablosuna yerleştirin.
  8. Daha fazla analiz veya işlem için oluşturulan SQLite tablosundan verileri alın ve seçin.

Bu öğretici, Excel dosyalarını işleme etkinliği ile tanınan bir Python kütüphanesi IronXL'yi kullanacağız. IronXL'i betiğimize entegre ederek, veri analiz ve işleme için daha fazla analiz ve işleme için dikişsiz verilerek Excel elektronik tablolarından veri çıkarmayı sağlarız.

IronXL Nedir?

IronXL, Iron Software tarafından geliştirilen Python kütüphanesi olup, Python uygulamalarının içinde doğrudan Excel dosyalarını okuma, oluşturma ve düzenleme için güçlü bir işlevsellik sunar. Özellikle, IronXL, Microsoft Excel kurulumundan bağımsız olması ile öne çıkar, farklı ortamlarda dağıtımı basitleştirir. IronXL ile geliştiriciler, şunlar gibi avantajlardan faydalanır:

Platformlar Arası Destek: Windows, macOS, Linux, Docker, Azure ve AWS platformları üzerinde sorunsuz çalışın; çeşitli geliştirme ayarlarına uyum sağlayabilirsiniz.

Veri İthalat ve İhracat: XLS, XLSX, CSV ve TSV dosyalarından veri ithalatını kolayca yönetin, esnek bir şekilde çalışma sayfalarını bu formatlara ve hatta gelişmiş birlikte çalışabilirlik için JSON'a ihraç edin.

Şifreleme Özellikleri: IronXL'in şifreleme yeteneklerinden yararlanarak, XLSX, XLSM ve XLTX dosyalarını şifrelerle koruma sağlayarak veri güvenliğini sağlayın.

Formüller ve Yeniden Hesaplama: Excel formülleri ile zahmetsizce çalışın. Bir sayfa her düzenlendiğinde otomatik yeniden hesaplama avantajıyla veri manipülasyonu da doğruluk ve güvenirlik garanti edilir.

Hücre Biçimlendirme: Her hücrenin görünümünü yazı tipi stillerini, boyutlarını, arka plan desenlerini, kenarlıklarını ve hizalamalarını ayarlayarak özelleştirin, Excel belgelerinizin görsel sunumunu geliştirin.

Geniş Belge Formatları Yelpazesi: XLS, XLSX, XLST, XLSM, CSV ve TSV gibi çeşitli formatlar için destek ile IronXL, geliştiricilerin veri yönetmesini çeşitli senaryolarda kolaylıkla ve verimlilikle yönetmesini sağlar.

Şimdi, IronXL'i yükleyerek başlayalım.

Adım 1: IronXL Kütüphanesini Yükleyin

En ilk adım IronXL kütüphanesini yüklemektir. Komut isteminde IronXL'i yüklemek için aşağıdaki komutu çalıştırın.

pip install IronXL
pip install IronXL
SHELL

Adım 2: Excel Çalışma Kitabını Yükleyin

Bir sonraki adım Excel dosyasını yüklemektir. Bu öğreticinin amacı için aşağıdaki Excel dosyasını kullanacağız.

Python kullanarak bir Excel Dosyasını Veritabanı Tablosuna Nasıl İçe Aktarılır: Şekil 1 - Örnek Excel Dosyası Girişi

Aşağıdaki kod mevcut Excel dosyasını bellekte yükleyecektir.

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")
PYTHON

Yukarıdaki Python kodu kesiti, IronXL kütüphanesini kullanarak 'sample_excel.xlsx' adlı bir Excel çalışma kitabının yüklenmesini göstermektedir. Öncelikle gerekli Python modülü IronXL'den içe aktarılır. Daha sonra, kütüphane kullanımını doğrulamak için bir lisans anahtarı atanır. Ücretsiz lisans anahtarınızı IronXL web sitesinden alabilirsiniz. Son olarak, belirtilen Excel çalışma kitabını belleğe açmak ve yüklemek için Load yöntemi kullanılır. Bu, içeriğin programatik olarak manipüle edilmesine olanak tanır; örneğin, verileri okuma, hücre değerlerini değiştirme veya biçimlendirme uygulama gibi.

Adım 3: Çalışma Sayfası Seçme

IronXL kullanarak bir Excel çalışma kitabındaki çalışma sayfasını seçmek için, çalışma sayfası indeksini veya adını 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]
PYTHON

Bu satır, yüklenen Excel çalışma kitabındaki ilk çalışma sayfasını seçer ve onu worksheet değişkenine atar, kitabın içinde o belirli çalışma sayfasında sonraki işlemlerin gerçekleştirilmesine olanak tanır. Bu, bir Excel sayfasından bir çalışma sayfası değişkenine Excel verilerini yükleyecektir.

Adım 4: Veritabanı Bağlantısını Açın

Bu öğreticide, bir MySQL veritabanı sunucusu yerine SQLite veritabanı kullanıyoruz. Veritabanı işlemlerini başlatmak için, veritabanına 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')
PYTHON

Yukarıdaki satır, 'data.db' adlı bir SQLite veritabanına bağlantı kurar. Belirtilen veritabanı mevcut değilse, otomatik olarak oluşturulacaktır. Bu bağlantı, veritabanıyla sonraki etkileşimlere olanak tanır; örneğin, sorgular çalıştırma ve veri manipülasyon işlemleri yapma gibi.

Adım 5: Bir Tablo Oluşturma

Sonraki adım, bir Excel dosyasından veri ithal edeceğimiz veritabanında bir veritabanı tablosu oluşturmaktır. SQLite veritabanında bir tablo oluşturmak için, bağlantı nesnesini kullanarak bir SQL bildirimi yürütebilirsiniz.

# 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
)
''')
PYTHON

Yukarıdaki kod kesiti, SQLite veritabanı bağlantısı içinde SQL komutlarını yürütmek için bir işaretçi nesnesi başlatır. 'id', 'Ad', 'Soyad', 'Cinsiyet', 'Ülke' ve 'Yaş' sütunlarıyla 'müşteri' adlı bir tablo oluşturur. Tablo, belirtilen sütun veri türlerine uygun olarak zaten mevcut değilse oluşturulur.

Adım 6: Veritabanına Python Kullanarak Veri İçe Aktarma

Artık yeni oluşturulmuş tabloya veri yerleştireceğiz. Bir Excel dosyasını içe aktarıp verilerini SQLite veritabanına yerleştireceğiz.

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

Yukarıdaki kod, her satır için sütun A'dan F'ye kadar değer çıkarır ve Excel sayfasındaki satırları 2'den 10'a kadar yinelemektedir. Bu değerler, 'müşteri' tablosuna yerleştirilecek verileri temsil eden bir tuple (demet) içinde depolanır. İşaretçi daha sonra values tuple'ını tabloya katarak bir SQL INSERT komutu yürütür. Bu işlem, Excel dosyasından SQLite veritabanına veri ithalatını etkili bir şekilde gerçekleştirmek için her satır için tekrarlanır. Son olarak, conn.commit() işlemi onaylar ve değişikliklerin veritabanında kaydedilip kalıcı olmasını sağlar.

Adım 7: Veritabanından veri okuma

Verilerin doğru bir şekilde yerleştirilip yerleştirilmediğini doğrulamak için, SQLite veritabanında bir SELECT sorgusu kullanarak 'müşteri' tablosundan verileri 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()
PYTHON

Yukarıdaki kod, SQLite veritabanındaki 'müşteri' tablosunda bir SELECT sorgusu yürütür ve tüm satırları alır. Alınan satırlar fetchall() yöntemi kullanılarak 'rows' değişkeninde saklanır. Daha sonra, her satır iteratif olarak yazdırılır ve 'müşteri' tablosuna yerleştirilen verileri gösterir. Son olarak, kaynakları serbest bırakmak için close() yöntemi kullanılarak veritabanı bağlantısı kapatılır.

Python kullanarak bir Excel Dosyasını Veritabanı Tablosuna Nasıl İçe Aktarılır: Şekil 2 - Veritabanından Okuma Çıkışı

Tam Kod Aşağıdaki 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()
PYTHON

Sonuç

Sonuç olarak, bu öğretici birlikte Excel verilerini bir veritabanına çıkartmanın ve yerleştirmenin otomatik bir yaklaşımını sergilemiştir. Bu süreç yalnızca veri yönetiminin verimliliğini artırmakla kalmaz, aynı zamanda veri işleme girişimlerinin tam potansiyelini açığa çıkarır. Python ve IronXL'in gücünü kucaklayarak veri akışlarınızı optimize edin ve projelerinizi güvenle ilerletin.

Sıkça Sorulan Sorular

Python kullanarak bir Excel dosyasından verileri bir veri tabanına nasıl aktarabilirim?

Bir Excel dosyasından, önce Excel dosyasını `WorkBook.Load()` ile yükleyerek, ardından çalışma sayfasını seçerek ve verileri eklemek için SQLite ile bir veritabanı bağlantısı kurarak veri tabanına veri aktarabilirsiniz.

Python’da Excel dosyalarını işlemek için IronXL kullanımının faydaları nelerdir?

IronXL, Microsoft Excel yüklü olmasına gerek duymadan Excel dosyalarını işler, platformlar arası işlemleri destekler, şifreleme ve formül yeniden hesaplama gibi sağlam özellikler sunar ve veri çıkarma ve ekleme işlemlerini verimli bir şekilde yönetir.

Python projelerinde kullanım amacıyla IronXL’yi nasıl yüklerim?

Python projeleri için IronXL’yi yüklemek için `pip install IronXL` komutunu kullanabilirsiniz. Bu, IronXL’yi Python ortamınıza ekleyerek Excel dosyalarını verimli bir şekilde yönetmenizi sağlar.

Microsoft Excel yüklü olmadan Python’da Excel dosyalarını işlemek mümkün mü?

Evet, IronXL kullanarak Microsoft Excel yüklü olmadan Excel dosyalarını işleyebilirsiniz. IronXL, Excel dosyalarını bağımsız olarak okuyup düzenlemeniz ve yazmanız için gerekli tüm fonksiyonları 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 imleç nesnesi aracılığıyla bir SQL `CREATE TABLE` ifadesi yürütün.

Excel verilerinin bir SQLite veri tabanına başarıyla eklenip eklenmediğini nasıl doğrularım?

Ekleme işlemini, tabloya `SELECT` sorgusu yürüterek ve sonuç kümesindeki tüm satırları almak ve yazdırmak için `fetchall()` yöntemini kullanarak doğrulayabilirsiniz.

Python kullanarak Excel’den bir veri tabanına veri taşıma işleminin adımları nelerdir?

Adımlar, IronXL'yi kurmayı, Excel dosyasını yüklemeyi, çalışma sayfasını seçmeyi, veritabanına bağlanmayı, bir tablo oluşturmayı ve SQL 'INSERT' komutlarını kullanarak verileri eklemek için Excel satırları boyunca yinelemeyi içerir.

IronXL Excel formüllerini işleyip onları Python'da yeniden hesaplayabilir mi?

Evet, IronXL Excel formüllerini destekler ve onları yeniden hesaplayabilir, bu da Python uygulamaları içinde Excel dosya manipülasyonu için kapsamlı bir çözüm sağlar.

IronXL, Excel dosyası işleme için platformlar arası işlemleri destekler mi?

Evet, IronXL, Windows, macOS, Linux, Docker, Azure ve AWS gibi ortamlar da dahil olmak üzere platformlar arası işlemleri destekler, bu da farklı geliştirme kurulumları için esnek bir seçim yapar.

IronXL, Python uygulamalarında veri iş akışlarını nasıl iyileştirir?

IronXL, veri çıkarma, manipülasyon ve ekleme yetenekleri sunarak, veri yönetimi süreçlerini optimize eder ve veri odaklı uygulamaların performansını artırır.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara