夕蛙のなく頃に

データアナリストとして学んだことや趣味で勉強し始めたIoTをアウトプットする

ColaboratoryでRedashのクエリ結果をDataFrameに入れる

なにこれ

表題の通りです。RedashのBI環境が揃っていて、ちょっとした分析はColaboratoryで行いたい場合、Redashの結果をCSVに落として、それをインポートするのは面倒です。

RedashにはCSV/JSONを取得できるAPIがあるので、それを利用してColaboratoryに直接クエリ結果を入れましょう。

RedashのAPIキーを確認

各クエリ画面の右上にあるメニューボタンから、「Show API Key」をクリックし、「Results in JSON format」と書かれているURLをコピーします。

これをURLに入れれば、クエリ結果のJSONフォーマットのファイルがダウンロードできます。

Colaboratory

Requestsライブラリを使ってGETリクエストを飛ばし、それをJSONフォーマットに整形し、DataFrameに入れるという手順です。

import pandas as pd
import requests

URL = "コピーしたURL"
response = requests.get(URL)
json_data = response.json()
df = pd.DataFrame(json_data['query_result']['data']['rows'])