Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでリアルタイムの為替レートを取得する方法【初心者向け】

PythonはAPI呼び出しの処理が非常に得意なプログラミング言語です。本記事では、通貨の為替レートをリアルタイムで取得する方法と、過去(ヒストリカル)データを取得する方法について、具体的なコード例とともにわかりやすく解説します。

forex-pythonライブラリを使う方法

「forex-python」は、通貨換算レートを最も手軽に取得できるPythonライブラリの一つです。必要な通貨コードを引数として渡すだけで、変換結果を簡単に取得できます。以下の例では、現在のリアルタイム為替レートを取得しています。

サンプルコード

from forex_python.converter import CurrencyRates

c = CurrencyRates()

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

実行結果

上記のコードを実行すると、以下のような結果が得られます。

0.7357387755

この例では、1米ドル(USD)あたり約0.7357英ポンド(GBP)というレートが出力されています。

過去の為替レートを取得する

datetimeモジュールで作成した日時オブジェクトを引数に追加することで、特定の日付・時刻における為替レートを取得することも可能です。以下の例では、2020年3月27日11時21分時点におけるUSDからINR(インドルピー)へのレートを取得しています。

サンプルコード

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))

実行結果

上記のコードを実行すると、以下のような結果が得られます。

75.4937596793

Web APIを使う方法

APIキーを使ってリクエストを送信すると、JSON形式で為替レートを返してくれるWeb APIも数多く提供されています。取得したJSONデータは、リストに変換したり、必要に応じて整形したりすることで、さらに柔軟に活用できます。以下は「ExchangeRate-API」を使用した例です。

サンプルコード

import requests

# USDを基準通貨として指定
url = 'https://v6.exchangerate-api.com/v6/336ccxxxxxxxxx8e74eac/latest/USD'

# リクエストを送信
response = requests.get(url)
data = response.json()

# JSONオブジェクトを出力
print(data)

実行結果

上記のコードを実行すると、以下のようなJSON形式の結果が得られます。

{'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}}

まとめ

Pythonでは、「forex-python」ライブラリを使えばシンプルなコードで現在および過去の為替レートを取得できます。また、requestsライブラリと組み合わせれば、各種Web APIからも柔軟にデータを取得可能です。用途や取得したいデータの種類に応じて、最適な方法を選択してみてください。

  1. Pythonでローカルタイムゾーン(UTCオフセット)を取得する方法

    コンピュータのUTCオフセットとは、そのコンピュータに設定されているタイムゾーンのことです。Pythonでは、標準ライブラリのtimeモジュールを使うことで、このタイムゾーン情報を簡単に取得できます。time.timezoneは、UTCからのオフセットを秒単位で返します。 timeモジュールを使う方法 import time print(-time.timezone) # インドのタイムゾーン: +5:30 の場合 出力 19800 time.timezoneは西回りのオフセットを正の値として返すため、通常は先頭にマイナスを付けて使用します。上記の例では、インド標準時(UTC+5:30)に相

  2. Pythonでコードの実行時間を計測する方法を解説

    Pythonでプログラムの実行時間を測定したい場合、timeモジュールの関数を利用できます。また、より正確なベンチマークを行いたい場合には、Python公式ドキュメントでも推奨されているtimeitモジュールを使用するのが良いでしょう。 timeモジュールを使った基本的な計測方法 処理の開始前と終了後に時刻を取得し、その差分から経過時間を算出するのが基本的な方法です。 例 import time t0 = time.clock() print(Hello) t1 = time.clock() - t0 print(Time elapsed: , t1 - t0) # 経過したCPU秒数(