openpyxl, Python'dan Excel (.xlsx) dosyalarını okumak ve yazmak için en yaygın kullanılan kütüphanedir. Bu derste bir Excel dosyasındaki belirli bir kolonun tüm verilerini Python'a okutacağız.
Kurulum
pip install openpyxl
Dosyayı Açmak
from openpyxl import load_workbook
def kolon_oku(dosya_yolu, sayfa_adi, kolon):
workbook = load_workbook(dosya_yolu)
if sayfa_adi not in workbook.sheetnames:
print(f"'{sayfa_adi}' adında bir sayfa bulunamadı.")
return
sheet = workbook[sayfa_adi]
for hucre in sheet[kolon]:
print(hucre.row, hucre.value)
load_workbook(dosya_yolu), dosyayı bellekte birWorkbooknesnesi olarak açar.workbook.sheetnames, dosyadaki tüm sayfa adlarının bir listesini verir — kullanıcının girdiği sayfa adının gerçekten var olup olmadığını kontrol etmek için kullanışlıdır.sheet[kolon], ör.sheet["A"]yazıldığında, o kolondaki tüm dolu hücreleri bir demet (tuple) olarak döndürür — bunları birfordöngüsüyle tek tek gezebilirsiniz.
Fonksiyonu Çağırmak
if __name__ == "__main__":
kolon_oku("kitap.xlsx", "Bilgiler", "A")
Birleştirilmiş Hücre Hatası
Bir sayfada birleştirilmiş (merge edilmiş) hücreler varsa, o kolonu okumaya çalıştığınızda MergedCell nesneleri hataya yol açabilir — çünkü birleştirilmiş bir hücre grubunda sadece ilk hücre gerçek bir değere sahiptir, diğerleri "gölge" hücrelerdir ve doğrudan değer taşımaz. Bu tür sayfalarda kolon okurken hata alıyorsanız, önce sayfadaki birleştirmeleri kaldırmayı (sheet.unmerge_cells(...)) veya hatayı try/except ile yakalayıp o hücreyi atlamayı deneyin.
Sırada Ne Var?
Sırada, bir kolonun tamamı yerine tek bir sabit hücreden nasıl veri okunacağını göreceğiz.