Computer >> Máy Tính >  >> Lập trình >> Python

Python Nhận tỷ giá hối đoái tiền tệ theo thời gian thực?

Python rất tốt trong việc xử lý các lệnh gọi API. Trong bài viết này, chúng ta sẽ xem cách chúng ta có thể xử lý các lệnh gọi API cho tỷ giá hối đoái tiền tệ trong thời gian thực cũng như trong lịch sử.

Sử dụng forex-python

Mô-đun này cung cấp cách trực tiếp nhất để nhận tỷ giá quy đổi tiền tệ. Nó có các chức năng và tham số có thể nhận đầu vào cho các mã tiền tệ cần thiết và sau đó đưa ra kết quả cho việc chuyển đổi. Ví dụ dưới đây cung cấp tỷ lệ chuyển đổi trực tiếp.

Ví dụ

from forex_python.converter import CurrencyRates

c = CurrencyRates()

print(c.get_rate('USD', 'GBP'))

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

0.7357387755

Tỷ giá tiền tệ trước đây

Chúng tôi thêm một đối tượng datetime tạo thành mô-đun datetime vào ví dụ trên và điều đó cung cấp cho chúng tôi tỷ giá hối đoái tiền tệ tại thời điểm và ngày cụ thể.

Ví dụ

from forex_python.converter import CurrencyRates
import datetime

c = CurrencyRates()

dt = datetime.datetime(2020, 3, 27, 11, 21, 13, 114505)

print(c.get_rate('USD', 'INR', dt))

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

75.4937596793

Sử dụng API web

Có nhiều API cung cấp cho chúng tôi tỷ giá tiền tệ bằng cách thực hiện các cuộc gọi bằng khóa API và nhận lại kết quả dưới dạng JSON. Chúng tôi có thể mở rộng thêm mã để chuyển đổi JSON thành một danh sách và định dạng dữ liệu nếu cần.

Ví dụ

import requests

# Where USD is the base currency you want to use
url = 'https://v6.exchangerate-api.com/v6/336ccxxxxxxxxx8e74eac/latest/USD'

# Making our request
response = requests.get(url)
data = response.json()

# Your JSON object
print(data)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

{'result': 'success', 'documentation': 'https://www.exchangerate-api.com/docs', 'terms_of_use': 'https://www.exchangerate-api.com/terms', 'time_last_update_unix': 1610323201, 'time_last_update_utc': 'Mon, 11 Jan 2021 00:00:01 +0000', 'time_next_update_unix': 1610409616, 'time_next_update_utc': 'Tue, 12 Jan 2021 00:00:16 +0000', 'base_code': 'USD', 'conversion_rates': {'USD': 1, 'AED': 3.6725, ………., 'XOF': 536.3826, 'XPF': 97.579, 'YER': 250.1264, 'ZAR': 15.2899, 'ZMW': 21.1561}}