#はじめに
OpenWeatherのAPIが天気の情報量に長けていたので登録して無料版を使ってみました。
天気APIを叩く方法は
・都市ID
・都市名
・郵便番号
・地図座標
の4パターンです
詳しくはこちらの記事がわかりやすいです
この記事ではOpenWeatherの世界の都市リストのJSONファイルを
Pythonで都市を日本にフィルタリングしてテキスト化した内容を共有したいと思います♪
#世界の都市リストのファイルをダウンロードする
私はWindows環境です
gzファイル は __Lhaplus__で解凍しました
Macの解凍方法はわからないのでググってくださいw
#PythonでJSONファイルをテキスト化する
import json
Jplist = []#JSONを読み取る
listrows = []#出力用リスト
f = open('任意の.jsonファイル', 'r' ,encoding='utf-8')
jsn = json.load(f)#JSONファイルを開く
for key in jsn:#JSONファイルを読み取る
if key['country'] == 'JP':#日本のみに絞る
for value in key:#日本の内容を行ごとに読み取る
Jplist.append(str(value) + ':' + str(key[value]))#行毎に読み取る
listrows.extend(Jlist)#リストを二次元配列として追記
Jplist.clear()#Jplistの配列を初期化する
with open("任意の.txtファイル", 'w', encoding='utf-8') as tx:
for values in listrows:#行ごとにテキスト出力する
tx.write(str(values) + '\n')#テキストファイルに書き込む
print('完了')
ポイント
- JSONファイルをなぜか辞書で読込めなかったのでリストで読込んだ
※JSONファイルがリストで作られてるのかな?
※辞書できれいに処理したかったがやむなくリストで処理
※いや、楽勝で辞書で読み込めたよって方いたら教えてくださいw)
- リスト+リストで二次元配列化しテキスト出力した
※__extend__メソッドでリストにリストを追加してテキストへ追記
こんな感じでテキスト化できました。
#おわりに
日本のみにフィルタリングしたので、マスター化すれば日本全国の拠点を抑えられるかと思います
今後は天気のAPIを活用した記事を書いていきたいと思います♪