1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

銀行名とその支店名をCSVでダウンロードしたい!!

Posted at

Pythonと「銀行くん」APIで銀行と支店のデータを取得し、保存する方法

このガイドでは、「銀行くん」APIを使って日本全国の銀行とその支店情報を取得し、それをCSVファイルに保存する方法を分かりやすく説明します。
この手順は、プログラミングが初めての方やデータ収集に興味がある方にも理解しやすいようにしています。

1. Pythonのインストール

Pythonをインストールする手順は以下の通りです。

  • Python公式サイトへアクセスします。
  • 「Download Python」ボタンをクリックして、お使いのオペレーティングシステムに適したインストーラをダウンロードします。
  • ダウンロードしたインストーラーを実行します。
  • インストール中に「Add Python 3.x to PATH」のチェックボックスを選択してください。これにより、PythonがシステムのPATHに追加され、コマンドプロンプトから直接Pythonを実行できるようになります。
  • インストールが完了するまで指示に従って進めてください。

2. コマンドプロンプトの起動

コマンドプロンプトを起動する方法は以下の通りです。

  • Windowsキーを押し、「cmd」と入力して検索します。
  • 検索結果に表示される「コマンドプロンプト」をクリックして開きます。

3. 必要なライブラリのインストール

Pythonでデータを扱うためには、追加のライブラリが必要です。以下の手順でインストールします。

  • コマンドプロンプトが開いた状態で、以下のコマンドを入力して実行します。
    pip install requests pandas
    
  • これにより、HTTPリクエストを扱うためのrequestsライブラリと、データ分析を行うためのpandasライブラリがインストールされます。

4. スクリプトの作成

次に、データを取得してCSVに保存するスクリプトを作成します。メモ帳を開いて以下のコードをコピー&ペーストし、fetch_banks.pyというファイル名で保存してください。

import requests
import pandas as pd

def fetch_data(url, params=None):
    response = requests.get(url, params=params)
    response.raise_for_status()  # エラーがあればここで停止します
    return response.json()

def fetch_all_pages(url, per_page=10):
    all_data = []
    page = 1
    while True:
        params = {'page': page, 'per': per_page}
        data = fetch_data(url, params)
        if not data:
            break
        all_data.extend(data)
        page += 1
    return all_data

# 銀行一覧を取得
banks = fetch_all_pages('https://bank.teraren.com/banks.json')

all_branches = []
for bank in banks:
    bank_code = bank['code']
    bank_name = bank['name']
    bank_kana = bank['kana']
    bank_hira = bank['hira']

    # 各銀行の支店情報を取得
    branches = fetch_all_pages(f'https://bank.teraren.com/banks/{bank_code}/branches.json')
    for branch in branches:
        all_branches.append({
            'bank_code': bank_code,
            'bank_name': bank_name,
            'bank_kana

さて、Pythonスクリプトを続行して、CSVファイルに保存する部分まで書き下ろします。これにより、取得したデータをファイルに書き出す処理を行います。

```python
            'bank_hira': bank_hira,
            'branch_code': branch['code'],
            'branch_name': branch['name'],
            'branch_hira': branch.get('hira', ''),
            'branch_kana': branch.get('kana', '')
        })

# DataFrameを作成
df = pd.DataFrame(all_branches)
df.to_csv('C:\\Users\\Username\\Downloads\\bank_branches.csv', index=False)

5. スクリプトの実行とCSVファイルの保存先カスタマイズ

  • コマンドプロンプトで、スクリプトが保存されているディレクトリに移動します。
  • 例えば、スクリプトがデスクトップにある場合は次のように入力します:
    cd C:\Users\Username\Desktop
    
  • 次に、以下のコマンドを入力してスクリプトを実行します:
    python fetch_banks.py
    

6. 出力先ファイルのカスタマイズ

  • スクリプト内で指定されたファイル保存先'C:\\Users\\Username\\Downloads\\bank_branches.csv'は、必要に応じて変更が可能です。ファイルを別の場所に保存したい場合は、このパスをお使いのコンピュータの任意のフォルダパスに変更してください。

注意: データの取得とファイルの生成には時間がかかることがあります

データ量が多い場合、情報を全て取得してCSVファイルに保存する過程で時間がかかることがあります。特に多くの銀行と支店の情報を扱う場合は、しばらくの時間が必要になることが予想されますので、気長に待つことが重要です。

このガイドが皆さんのデータ取得の一助となり、Pythonプログラミングの楽しさを体験していただければ幸いです。何かご不明点や追加で知りたい情報があれば、お気軽に質問してください。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?