Pythonで通貨コンバーターを作成する方法

Open Exchange Ratesは、世界中の通貨交換レートに関する情報を保存するデータプロバイダーです。

また、アプリケーション内で通信できるAPIも用意されています。これを利用して、通常は最新のものとなっているさまざまな通貨の交換レートデータを要求できます。

PythonスクリプトでAPIを使用し、交換レート情報を取得して、ある通貨から別の通貨に金額を変換できます。

Open Exchange RatesからAPIトークンを取得する方法

PythonスクリプトでAPIを使用するには、アクセストークンが必要です。アカウントにログインして新しいトークンを生成することで、アクセストークンを取得できます。APIの使用方法の他の例を確認することもできます。

  1. Open Exchange RatesのWebサイトでログインするか、新しいアカウントを作成します。無料プランをクリックして無料アカウントを作成します:
  2. アカウントの左側のメニューを使用して、App IDページに移動します:
  3. デフォルトでは、ページにApp IDが生成されているはずです。これをコピーして後で使用します。これはAPIと通信するために必要なアクセストークンです。

APIトークンを使用して交換レートデータを取得する方法

Pythonスクリプト内でトークンを使用すると、Open Exchange Rates APIにリクエストを送信できます。Pythonに慣れていない場合は、無料のPythonコースやアプリ、およびPythonコードをより適切に記述するためのその他のヒントとコツを利用できます。

この記事で使用されている完全なコードには、このGitHubリポジトリでアクセスできます。

  1. currency-exchange-converter.pyという新しいファイルを作成し、一番上にrequestsモジュールをインポートします。これにより、APIにリクエストを送信できるようになります。
    import requests
  2. Open Exchange Ratesアカウントから保存したApp IDを保存します:
    api_key = "Your App ID here"
  3. 通貨と交換レート情報を取得するために使用されるエンドポイントを保存します。APIへのアクセスを認証するためにAPIキーを含めます:
    url = f"https://openexchangerates.org/api/latest.json?app_id={api_key}"
  4. 交換レートデータのリクエストを行い、応答をJSON形式で保存します:
    response = requests.get(url)
    data = response.json()
  5. 応答には交換レートが含まれています。この形式は{'currency': 'rate'}です。たとえば、{'AED': 3.67286, 'AFN': 88.978998, 'ALL': 108.421111}です。これらは、デフォルトでUSDである基本レートを基準としています。たとえば、1USDは3.67AEDに相当します。この交換レートデータを保存します:
    exchange_rates = data["rates"]
  6. 利用可能な通貨をユーザーに出力します:
    available_currencies = ""
    for currency in exchange_rates.keys():
    available_currencies += currency + ", "
    # 末尾のカンマとスペースを削除
    available_currencies = available_currencies[:-2]
    print("利用可能な通貨: " + available_currencies)

ユーザーが要求した金額を変換する方法

通貨交換データを使用して、ある通貨から別の通貨に金額を変換します。

  1. ユーザーに元の通貨と変換先の通貨を入力してもらいます:
    from_currency = input("基本通貨を入力してください: ").upper()
    to_currency = input("対象通貨を入力してください: ").upper()
  2. ユーザーに変換する金額を入力してもらいます:
    amount = float(input("変換する金額を入力してください: "))
  3. 新しい通貨の新しい金額を計算します:
    original_amount = amount / exchange_rates[from_currency]
    converted_amount = original_amount * exchange_rates[to_currency]
  4. 結果を出力します:
    print(f"{amount} {from_currency} = {converted_amount} {to_currency}")

Pythonスクリプトを実行する方法

Pythonスクリプトは、コマンドラインまたはターミナルを使用して実行できます。

  1. コマンドラインで、Pythonファイルを保存した場所に移動します。これがデスクトップの場合、コマンドは次のようになります:
    cd C:\Users\Sharl\Desktop
  2. requestsモジュールをインストールして、Pythonスクリプトが認識できるようにします:
    pip install requests
  3. pythonコマンドを使用してPythonスクリプトを実行します:
    python currency-exchange-converter.py
  4. 通貨を入力し、次に変換先の通貨を入力します。
  5. 変換する金額を入力します。スクリプトは変換された金額を表示します:

Pythonを使用して通貨を変換する

これで、Open Exchange Rates APIを使用して、最新の通貨交換レートのデータを取得できるようになりました。他のデータセットを提供するAPIを探索したり、独自のAPIを作成したりすることで、スキルを向上させることができます。