0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PythonでAPIを確認する

Posted at

##はじめに
データを集める時に、APIが使えるようになると便利だなと思って基礎を学ぶことにしました。
自分の備忘録用。

##利用するAPI

サイトを検索すると手法習得で用いられている郵便番号のAPI。今回はその中でも、zipcloudを使うことにしました。

##コードと追記

#モジュールをインポート
import json
import requests
import pandas as pd

#リクエストURL
url = 'https://zipcloud.ibsnet.co.jp/api/search'

# 条件指定
param={'zipcode':'100-0005'}

#条件からレスポンスを取得
res = requests.get(url, params=param)

#dict型に変換
response = json.loads(res.text)

#results部分だけ抜き出す
address = response['results'][0]

#データフレームに変換(最初に郵便番号がくるように入れ替え)
df = pd.DataFrame(address.values(), index=address.keys()).T
re_df = df.reindex(columns=['zipcode','address1','address2','address3','kana1','kana2','kana3','prefcode'])
re_df
項目 追記
リクエストURL 使いたいURLの情報を設定する
条件指定 リクエストURLに送るパラメータを決める
レスポンスを取得 パラメータから返ってきた情報が得られる
dict型に変換 文字として認識できるようにする
resultの抜き出し 住所部分だけにする
dfへの変換 データセットの形にする

上のスクリプトで得られたデータフレームがこちら。resultをそのまま抜き出すと郵便番号が最後になるので、re_dfで順番を入れ替えています(ここは好みの問題)。
image.png

##まとめ
APIというとかなり複雑なイメージがあったのですが、郵便番号に関しては割と簡単なコードで使えることが分かりました。これからはもっと複雑なAPIもトライしていけたらと思います。

ちなみに、〒100-0005は東京駅がある住所です。豆知識。

##参考
https://www.taillook.tech/entry/python3-requests-zipcloud
https://www.sejuku.net/blog/78985

0
2
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
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?