Arama butonu
Bu konudaki kullanıcılar: 1 misafir
0
Cevap
1224
Tıklama
0
Öne Çıkarma
Python ile TCMB 'dan istediğiniz tarihin döviz kurları çekmek
N
2 yıl
Çavuş
Konu Sahibi

Merhaba TCMB(Türkiye Cumhuriyeti Merkez Bankası) sunduğu API ile istediğimiz tarihin döviz kurlarını çekebiliyoruz.

Döviz kurlarını çektiğim API: https://dovizkurlari-l6vtviaacq-uc.a.run.app/api/doviz

import requests
import json
 
def doviz(tarih,birim,alsat):
try:
api_url = "https://dovizkurlari-l6vtviaacq-uc.a.run.app/api/doviz"
 
t = tarih
gun,ay,yil=[i for i in t.split('/')]
tarih = f"/{yil}/{ay}/{gun}"
 
if birim == "USD":
birim = "/USD"
if alsat == "DVZ_AL":
alsat = "BanknoteBuying"
elif alsat == "DVZ_SAT":
alsat = "BanknoteSelling"
elif birim == "EUR":
birim = "/EUR"
if alsat == "DVZ_AL":
alsat = "BanknoteBuying"
elif alsat == "DVZ_SAT":
alsat = "BanknoteSelling"
else:
birim = "/GBP"
if alsat == "DVZ_AL":
alsat = "BanknoteBuying"
elif alsat == "DVZ_SAT":
alsat = "BanknoteSelling"
 
result = requests.get(api_url+tarih+birim)
result = json.loads(result.text)
return result[alsat]
except:
print(f"Girmiş olduğunuz değerler hatalı tarih bilgisi xx/xx/xxxx şeklinde girilmeli, Döviz birimi USD, EUR veya GBP girilmeli, Kur türü DVZ_AL, DVZ_SAT, EFK_AL, EFK_SAT şeklinde girilmelidir. Bilgilerinizi kontrol edip tekrar giriniz.")
 
t = input("tarih giriniz (xx/xx/xxxx) :")
b = input("döviz birimi giriniz (USD,EUR,GBP) :")
a = input("kur türünü giriniz (DVZ_AL, DVZ_SAT) :")
 
print(doviz(t,b,a))
 

Örnekte görüldüğü gibi 2017 yılından bir kur çektik.

Çıktı:

tarih giriniz (xx/xx/xxxx) :02/02/2017
döviz birimi giriniz (USD,EUR,GBP) :USD
kur türünü giriniz (DVZ_AL, DVZ_SAT) :DVZ_AL
3.7310

Not: Hafta sonu ve resmi tatillerde Merkez Bankasının vermiş olduğumuz API'si çalışmamaktadır. Çünkü tatil günlerinde veri girişi yapılmamıştır.