Google Colaboratory からKaggle API を叩く
過去にQiitaに書いたことがありますが、
こちらにもメモとして再度検証、記録に残します。
Kaggle APIの公式リファレンスはこちら
Kaggle json のダウンロード
My Accountから、API Tokenを作成、kaggle.jsonをダウンロードします。
以下、google drive上に先ほどのjsonを格納
Colaboratory
以下、pipからkaggleモジュールをインポート
!pip install kaggle
google driveにマウント、必要があれば適当にカレントディレクトリを設定します。
import os from google.colab import drive drive.mount('/content/drive') os.chdir("/content/drive/My Drive/hoge/hogehoge")
先ほど読み込んだjsonファイルからusernameとkeyを環境変数に読み込みます。
import os import json f = open("/content/drive/My Drive/kaggle.json", 'r') json_data = json.load(f) os.environ['KAGGLE_USERNAME'] = json_data['username'] os.environ['KAGGLE_KEY'] = json_data['key']
以上で準備は終わりです。簡単でした。
api
上記処理で、あとはapiを叩くだけです。
現在開催されているコンペティションリストはこれ。
!kaggle competitions list
試しに現在開催されている以下コンペのデータをカレントディレクトリにダウンロードしてみます。
Dataタブに表記されているapiを、colaboratoryにコピペするだけです。
!kaggle competitions download -c m5-forecasting-uncertainty
無事全ファイルダウンロードされていました。
また、この例ではデータはzip形式になっていますが、
pandas.read_csv
はzipのまま読み込むことが可能です。
import pandas as pd train = pd.read_csv("sales_train_validation.csv.zip") print(train.shape) display(train.head())
無事、ちゃんと読み込めていそうな感じでした。
appendix
過去から記事を漁るといろいろでてきますので、お好きな方法で実装すればよろしいかと思います。
【Pythonメモ】Google ColaboratoryでKaggle APIを使うおまじないコード&作法 - Qiita
Easy way to use Kaggle datasets in Google Colab | Data Science and Machine Learning