BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > Python Programlama > Python örnek kodlar > python_ornek00015

Python örnek kodlar

Excel ile ilgili dosya oluşturma, sayfa oluşturma, dosyaya veri yazma, verileri okuma ve kaydetme işlemleri

Excel ile ilgili dosya oluşturma, sayfa oluşturma, dosyaya veri yazma, verileri okuma ve kaydetme işlemleri için aşağıda bilgileri ve sanal ortamda kurulum komutları verilen kütüphaneyi kullanacağız:

Openpyxl kütüphanesi

Openpyxl Excel 2010 xlsx/xlsm/xltx/xltm dosyaları ile ilgili işlemleri gerçekleştiren bir Python kütüphanesidir.


pip install openpyxl

Bu kütüphane ile birlikte, et-xmlfile kütüphanesi otomatik olarak yüklenir.


from openpyxl import Workbook

liste = ["aaaaa", "bbbbb", "ccccc", "ddddd", "eeeee", "fffff", "ggggg", "hhhhh"]

wb = Workbook() # Dosya oluşturma

ws = wb.active # Dosyanın ilk sayfasını aktif hale getirme
ws.title = "Sayfa1"
ws = wb.create_sheet("Sayfa2")
ws = wb.create_sheet("Sayfa3")

print(wb.sheetnames) # Sayfa adlarını ekrana yazdırma

max_row = len(liste); # Liste eleman sayısını alma

# Liste elemanlarını for döngüsüyle ilk sayfanın ilk beş sütununa yazdırma
ws = wb["Sayfa1"]
# iter_cols(min_col=None, max_col=None, min_row=None, max_row=None, values_only=False)
for col in ws.iter_cols(1, 5, 1, max_row, False):
    list_index = 0;  
    for cell in col:
        cell.value = liste[list_index]
        list_index = list_index + 1

# Liste elemanlarını for döngüsüyle ikinci sayfanın ilk beş satırına yazdırma
ws = wb["Sayfa2"]
# iter_rows(min_row=None, max_row=None, min_col=None, max_col=None, values_only=False)
for row in ws.iter_rows(1, 5, 1, max_row, False):
    list_index = 0;  
    for cell in row:
        cell.value = liste[list_index]
        list_index = list_index + 1

# Liste elemanlarını for döngüsüyle üçüncü sayfanın ilk beş satırına yazdırma
ws = wb["Sayfa3"]
for col in range(5):
    for row in range(max_row):
        ws.cell(row+1, col+1, liste[row])	

# Sayfa3'de 5.satır ve 3.sütun (C5) değerini okuma
print(ws.cell(5, 3).value) # cell(row, column, value=None) 			
		
wb.save("deneme.xlsx")

Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar:

['Sayfa1', 'Sayfa2', 'Sayfa3']
eeeee

Programı çalıştırdığımızda, 8 elemanlı bir liste oluşturur. Workbook() fonksiyonu ile yeni bir dosya oluşturur. Dosyanın ilk sayfasını aktif hale getirdikten sonra, adını "Sayfa1" olarak değiştirir. İki sayfa daha oluşturarak, sırasıyla "Sayfa2" ve "Sayfa3" adlarını verir. Sayfa adlarını ekrana yazdırır. Liste elemanlarını ilk olarak bir for döngüsüyle ilk sayfanın ilk beş sütununa dikey olarak, sonra bir for döngüsüyle ikinci sayfanın ilk beş satırına yatay olarak ve son olarak bir for döngüsüyle üçüncü sayfanın ilk beş sütununa dikey olarak yazdırır. "Sayfa3" de 5.satır ve 3.sütun (C5) hücresinin değerini okuyarak ekrana yazar. Dosyayı "deneme.xlsx" adıyla bulunduğu dizine kaydeder.