logo

Kaggle APIを使ってデータをダウンロードする方法、OSError: kaggle.jsonが見つかりませんでした。の解決方法 📂データ確保

Kaggle APIを使ってデータをダウンロードする方法、OSError: kaggle.jsonが見つかりませんでした。の解決方法

概要

20210714_154147.png

Kaggleにあるデータは、容量が大きく、ウェブブラウザのダウンロード機能に任せるには少し不安がある。そのため、大容量データを安定してダウンロードできるAPIが提供され、上のスクリーンショットで一番上にあるコードがそれに該当する。

ターミナルでpip install kaggleと入力してkaggleをインストールし、

kaggle competitions download -c rsna-miccai-brain-tumor-radiogenomic-classification

を入力すると、作業ディレクトリに例示データがダウンロードされる。

エラー

実際、うまくいかないだろう。

PS D:\> kaggle competitions download -c rsna-miccai-brain-tumor-radiogenomic-classification
Traceback (most recent call last):
  File "c:\users\rmsms\appdata\local\programs\python\python39\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\users\rmsms\appdata\local\programs\python\python39\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\rmsms\AppData\Local\Programs\Python\Python39\Scripts\kaggle.exe\__main__.py", line 4, in <module>
  File "c:\users\rmsms\appdata\local\programs\python\python39\lib\site-packages\kaggle\__init__.py", line 23, in <module>
    api.authenticate()
  File "c:\users\rmsms\appdata\local\programs\python\python39\lib\site-packages\kaggle\api\kaggle_api_extended.py", line 164, in authenticate
    raise IOError('Could not find {}. Make sure it\'s located in'
OSError: Could not find kaggle.json. Make sure it's located in C:\Users\rmsms\.kaggle. Or use the environment method.

原因

簡単に言うと、Kaggleに登録がされていないとダウンロードできないのだが、そのユーザー情報がないためにうまくいかない。ユーザー情報が含まれるkaggle.jsonファイルは、pipでのインストールができないため、直接Kaggleからダウンロードして特定のパスに配置する必要がある。

解決法

ステップ 1.

20210714_155000.png

https://www.kaggle.com/ユーザー名/account またはユーザープロファイルからAccountタブを探す。


ステップ 2. kaggle.jsonファイルのダウンロード

20210714_154804.png

該当ページでAPIを検索すると、上のようにAPIトークンを生成するボタンが見つかる。クリックすると、kaggle.jsonファイルをダウンロードできる。このガイドでは、混乱しないようにデフォルトダウンロードフォルダに受け取った。


ステップ 3. 特定のパスにコピー

20210714_155642.png

必ず管理者権限でpowershellまたはターミナルを実行する。

20210714_152031.png

上のようにkaggle.jsonがあるダウンロードフォルダに移動し、kaggle.jsonファイルをコピーするコマンドは次の2行である。

cd C:\Users\rmsms\Downloads
cp kaggle.json ~/.kaggle/kaggle.json

コピーに権限が必要になる可能性があるため、ターミナルも管理者権限で開いた。


ステップ 4. ダウンロードを試みる

kaggle competitions download -c rsna-miccai-brain-tumor-radiogenomic-classification

上のコマンドを再入力すると、次のようにうまくダウンロードされていることが確認できる。

20210714_153104.png

サイトで127.45GBだとされていたものが12.3GBしかダウンロードされていないように見えるが、圧縮率が非常に高いため驚く必要はない。解凍すると、元の広大なデータが現れる。

20210714_163108.png