国土交通省のAPIから不動産情報を取得する
- 2020.05.17
- Python
姉妹ブログやTwitterに記載していますが、私は不動産投資を行っています。
不動産情報は下記のサイトで調べることができますが、Python等でデータを分析したかったので、APIからデータを取得してみました。
API仕様は下記のサイトで公開されています。出力はJSON形式になっていますので、これを取得します。
目次
プログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import requests import json import csv url = "https://www.land.mlit.go.jp/webland/api/TradeListSearch?from=20151&to=20152&city=13102" response = requests.get(url) jsonData = response.json() #Get keys keys=[] data_num = len(jsonData["data"]) for i in range(data_num): keys.extend(list(jsonData["data"][i].keys())) keys = set(keys) #Get data output=[keys] for i in range(data_num): temp=[] for key in keys: try: temp.append(jsonData["data"][i][key]) except: temp.append("NaN") output.append(temp) #Export CSV file with open("output.csv", "w", newline="") as f: writer = csv.writer(f) writer.writerows(output) |
実際にデータを見てみると欠損値が多かったので、少し回りくどいことをしています。
Get keysのところで、1度全部のデータのキーを取得してから重複を削除してキーのリストを作っています。
Get dataのところではキーのリストを使ってデータを取得して、値がない場合はNaNを入れています。
もっとスマートなやり方があると思いますがとりあえず動いているのでOKとしています。
これで任意のデータが取得できるようになったので、Pandas等を使ってデータ分析してみようと思います。
-
前の記事
6自由度のマスタースレーブロボットハンド 2020.05.14
-
次の記事
Tkinter (Python)でサーボモータの操作パネルを作る V2 2020.06.14