Python Excel Okuma İşlemi (openpyxl Kütüphanesi)

Python Excel Okuma İşlemi (openpyxl Kütüphanesi)

 Python Excel Okuma İşlemi openpyxl Kütüphanesi Kullanarak

Python ile daha öncesinde pandas kütüphanesini kullanarak excel dosyasını okumaktan bahsetmiştim, bu yazımda sizlere bir başka kütüpne olan openpyxl ile excel dosyası nasıl okunur ondan bahsetmek istedim. 

Gerekli Olan Kütüphanenin Kurulumu

pip install openpyxl veya pip3 install openpyxl

pip çoğu sistemlerde python 2 olarak geçtiği için hata alabilirsiniz, eğer ki hata alırsanız pip3 olarak deneyin.

Kütüphaneyi Projeye Dahil Etme

from openpyxl import load_workbook 

python projemizin en üstüne openpyxl i import ediyoruz ve artık kullanmamız için tamamen hazır oluyor.

Okuma İşlemi

def read_excel(folder): 
    print("Excel dosyası okunuyor..") 
       wb = load_workbook(folder + '.xlsx') 
       sheet = wb['Sayfa1'] 
       recipientNames = [cell.value for cell in sheet['A'][1:]] 
       recipientEmails = [cell.value for cell in sheet['B'][1:]]
       data = list(zip(recipientNames, recipientEmails))     
       return data

read_excel adında bir fonksiyon oluşturduk ve bu fonksiyon ile okuduğumuz bilgileri list haline getirdik ve fonksiyondan döndürdük, bu sayede istediğimiz yerlerde okduğumuz verileri kullanabiliriz.

Burada okuma işlemi yaparken 'Sayfa1' yazan kısım tablomuzun ismi olmalı, hemen altında bulunan 
kısımda [cell.value for cell in sheet['A']] yazan yerdeki 'A' kısmına hangi sütunu okumak istiyorsak onu giriyoruz. 

Örnek vermem gerekirse A 1. sütun, B 2. sütun gibisinden.

['A'] nın devamında bulunan [1:] kısmı ise hangi satırdan başlayacağımızı gösteriyor. Not 0 dan başlıyor, eğer ilk satırda başlıklar yazıyor ise 1 yazarsanız başlıkları atlayacaktır, başlıkları da almak istiyorsanız [:] olarak bırakabilirsiniz. 

Eğer sadece belli bir aralığı almak isterseniz [2:5] gibi kullanabilirsiniz.

Yukarıdaki örnekteki fonksiyonu kullanmak isterseniz

for data in read_excel("ExcelAdı"): 
    print("İsim" + data[0] + "E-Posta" + data[1])

Şeklinde komutu çağırmanız yeterli olacaktır.