Python ile Excel Manipülasyonu


Python üzerinden Excel dosyalarına erişim sağlayarak içindeki verileri alıp işlemek ve daha sonrasında bu verileri excel dosyasına yazdırmak pratik bir çözüm olabilir. Çünkü bazen exceldeki formüllerle aşılamayacak durumları oluyor. Bu durumlarda büyük miktardaki verileri python ile işlemek büyük kolaylık sağlıyor. Bu iş için  excel dosyası ile okuma operasyonlarında xlrd ve yazma operasyonlarında xlwt kütüphanelerini kullanacağız.
Aşağıdaki hazırladığım örnek risk.xls dosyası içindeki parasal değerleri alıp, risk değerli olarak 1 ila 5 arasındaki değerleri atıyor. Sonra bu sonuçları output-risk.xls dosyasına yazdırıyor.

İşte kodlar:

# -*- coding: utf-8-*-
import xlrd
import xlwt
#read

“”“
tek satira kaydedilmiş proje parasal degerlerini check edip
risk degerlendirmesi yapar 1 ila 5 arasindaki risk puanlarini bulur.
output-risk.xls dosyasina parasal degerler ve karsilik gelen risk degerlerini yazar
”“”
class DataController:
    def data_risk_test(self,parasal_deger=0):
        x=parasal_deger
        if (x>10000)&(x
                risk=1
        elif(x>100000)&(x
            risk=2
        elif(x>500000)&(x
            risk=3
        elif(x>1000000)&(x
            risk=4
        elif(x>2000000):
            risk=5
        else:
            risk=0
        return risk
   
    def risk_test(self):
        okuwb = xlrd.open_workbook(‘risk.xls’)
        okuwb.sheet_names()
        okuhucre = okuwb.sheet_by_index(0)
        okuhucre = okuwb.sheet_by_name(u’Sheet1’)
        #write
        yazwb = xlwt.Workbook()
        yazhucre = yazwb.add_sheet(‘Otomatik1’)
        risk=0
        i=0
        for rownum in range(okuhucre.nrows):
            #print sh.row_values(rownum)
            VAL=okuhucre.row_values(rownum)
            x=VAL[0]
            risk=self.data_risk_test(x)           
            #print str(x)+“:”+str(risk)
            yazhucre.write(i,0,x)
            yazhucre.write(i,1,risk)
            i=i+1
        yazwb.save(“output-risk.xls”)
        print “**Risk kontrolleri yapilarak output-risk.xls dosyasina islendi”
#**********************
dc=DataController()
dc.risk_test()

#———————————————-

Bu kodları aşağıdaki linkten indirebilirsiniz:
https://docs.google.com/open?id=0B2QbjSFSlgaMemZqSnl2T1BtOVE

Aynı işi Makro (Excel VBA) ile yapmak isterseniz şu makaleme bakın:
http://blog.suatatan.com/2012/06/excel-makrolar-icinde-gelismis.html

Aynı işi Google App Script ile yapmak isterseniz şu makaleme bakın:
http://blog.suatatan.com/2012/06/google-app-script-ile-tablo.html
   

Reklamlar

Yayınlayan

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s