skip to Main Content

python da pandas ile excel üzerinde çalışmak – 1

pythonda excel dosyaları ile çalışmak için kullanabileceğiniz kütüphane sayısı oldukça fazla. bu kütüphanlerin kendine göre avantajları mevcut. bu kısa yazıda kullanımı oldukça kolay olan pandaw dan bahsedegim

öncelikle pandası kuralım

pip3 install pandas

kurulum sorunsuz olarak tamamlandıktan sonra ilk örneğimizi yapabiliriz. temel ıolarak üç adım mevcut.

import pandas as pd   # 1. adim kutuphaneyi import ediyoruz

excel_text = pd.read_excel(r'router.xls')  # 2. adim excel dosyami belirtiyoruz

print (excel_text ) # 3. ekrana yazdiriyoruz / işliyoruz..

en temel haliye excel içindeki verileri text ortamına aktarmış olduk.. bu python dosyamızı çalıştırınca aşagıdaki şekilde bir çıktı elde ediyoruz.

root@fcicek:~/python/# python3 router_excel.py 
       router interface
0    router_a     0/0/1
1    router_b     0/0/2
2    router_c     0/0/3

csv dosyası üzerinde çalışmak istereniz read_excel yerine read_csv kullanmanız gerekmektedir. ; ile ayrılmış ve utf8 ile kodlanmış bir csv dosyasında çalışmak isterseniz

data = pd.read_csv (r'router.csv', sep=';', encoding='utf8', quotechar='"') 

işinize yarayacaktır. eğer herhangi bir sutun veya satır ile çalışmak istiyorsak

df = pd.DataFrame(data, columns= ['router'])

ile çalışacağınız sütünu seçebilirsiniz. satırları okuyorak satırlardaki veriler ile işlem yapmak için ise


for i in df.index:
    print(df['router'][i]+'----'+df['interface'][i])

yapısını kullanabilirsiniz. pandas konusunda daha detaylı bilgilere erişmek isterseniz aşagıdaki bağlantılar işinize yarayacaktır

https://pandas.pydata.org/docs/

https://pandas.pydata.org/docs/pandas.pdf

https://pandas.pydata.org/Pandas_Cheat_Sheet.pdf

huawei network ekipmanları için ekran uzunluğu / sayfalama

ssh veya telnet ile bir network ekipmanına bağlanıp koşturduğunuz komutun çıktısını nakmak istiyorsanız sayfalama oldukça faydalı olmaktadır. “display current-configuration” komutunu çalıştırdığımızda

<fcicek_router>display current-configuration 
!Software Version V200R011C10SPC600
#
sysname fcicek_router
#
info-center loghost source Vlanif100
info-center loghost 10.10.10.199
#
vlan batch 2 to 4094
#
loopback-detect auto disable
loopback-detect packet-interval 10
#
stp timer hello 100
stp timer forward-delay 400
stp timer max-age 600
stp timer-factor 1
stp enable
stp converge fast
#
undo authentication unified-mode
#
domain fcicek admin
#
igmp-snooping enable
  ---- More ----

şeklinde bir durumla karşılaşırız.. konfigürasyonun devamını görmek için boşluk tuşuna basmak gerekmektedir. huawei network ekipmanlarında varsayılan sayfalama / ekran uzunluğu değeri 24 dir. bu değeri 0 – 512 arasında değiştirilebilmektedir.

herhanngi bir komutun çıktısını bir yazılım içinde yapıyorsanız, yazılım içinde sayfa sonlarının kontrolünün yapılması ihtiyacını doğurur. huawei ekipmanlarında bu kontrolü “—- More —-” olarak yapılması gerekiyor.

Bu kontrolü yapmak istemiyorsanız network ekipmanına bağlandıktan sonra ilk çalıştırılması gereken komutlardan bir tanesi; sayfalama özelliğini kapatmak olacaktır. Bunun için

screen-length 0 temporary

komutunu çalıştırmanız yeterli olacaktır. kullanıcıların / oturumların varsayılan değerler dışında bir değer kullanmak istiyorsanız user-interface altında değişiklik ile gerçekleştirebilirsiniz.

[fcicek_router]user-interface vty 0 4
[fcicek_router-ui-vty0-4]screen-length 0

ssh bağlantısında hesap değişim algoritmasının kullanılması

komut satırından ssh kullanmaya yeni başladıysanız aşagıdakine benzer hatalar ile karşılaşırsanız bunun nedeni sunucu tarafından bir hesap değişim algoritmasının aktif eilmiş olmasındandır.

# ssh  -p 3333 sshuser@ferhatcicek.com
Unable to negotiate with 10.66.26.35 port 3333: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1,diffie-hellman-group14-sha1

peki bu durumda ne yapacaksınız. yukarıdaki çıktıda diffie hellman algoritmasının kullanıldığı belirtiliyor. ssh bağlantısında parametre olarak bunu belirmemiz gerekmektedir.

# ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c 3des-cbc -p 3333 sshuser@ferhatcicek.com 

komutu eksiksiz olarak yazdıysak aşagıdaki şekilde bir çıktı ile karşılacağız..

The authenticity of host '[ferhatcicek.com]:3333 ([10.66.26.35]:3333)' can't be established.
RSA key fingerprint is SHA256:NHXQ1no3z/Z2e/KoqrKyn0vNKlYhKmhvhtsQFXS4rvk.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

yes yazarak kabul ettikten sonra ne bağlantı gerçekleşmiş olacak

Back To Top