見出し画像

もしもアスリートがプログラミングを学んだのなら

Pythonの本を一通り読んだのでなんか書いてみるという事で、エクセルのデータを処理するコードを書いてみた。実用的だ。一つ一つのエクセルファイルを開いて、同一人物が書いたコメントを一つのファイルに集約する的な処理。処理対象のファイル数が15くらいなので手動でやっても1時間くらいで終わりそうな処理だけど、プログラムにしたら試行錯誤で6時間くらいかかった気がする。まぁええねん、勉強のついでだし。それなりに達成感得られるし。ファイル数100くらいになったら手動でやる気も失せるし。

で、実用的な物を作ったのでちょっとお遊び的な物を試したくなったのでJSONの処理でもしてみる。JSONもかなり昔から流行ってるけど、JSON処理もPythonは簡単に出来るので、試してみたくなった。どんなJSONを処理させようかと思っていたら、Stravaのデータがあるやん。自分はランニングやロードバイクも多少嗜むので、Stravaにデータあげてるんだけど、そのデータ処理させようかなと。

APIアクセスの為のトークンを得て、色々試すが個人データにうまくアクセスできない。なんでだろう。。数時間悩むも諦めて、アクセス出来るデータだけ試してみた。そのうち解決してやろう。。

以下はStravaに登録されているマラソンレースの一覧を拾ってくるAPIを叩いて、その中で開催国が日本になっているものを抜き出すだけの簡単なサンプル。何の実用的でもないけど、ええねん。とりあえず。

URL入力してStrava APIにアクセスしてJSONを貰ってきて、JSONの中のデータの個別の要素にアクセスするだけ。でもこれC言語で書いたら、こんなに短く書けないよ。Pythonは偉大だ。

import urllib.request
import json

#2019年の一覧用URL
url='https://www.strava.com/api/v3/running_races?year=2019'
token="Bearer XXXXX(ココは各個人のトークンに置き換えてね)"
headers = {'Authorization: Bearer': token}

#Authorizationヘッダー付きのHTTPSリクエストをつくる
req = urllib.request.Request(url)
req.add_header('Authorization', token)

#HTTPSリクエスト発行
r = urllib.request.urlopen(req)

#ReponseをJSON形式で読み込み
content = json.loads(r.read().decode('utf8'))

#JSONデータにアクセス
i = 0
while (i < len(content)) :
   if('Japan' in content[i]['country']) :
       print(content[i])
   i = i + 1

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?