らんだむな記憶

blogというものを体験してみようか!的なー

Google driveからColaboratoryへのファイルのアップロード

ColaboratoryからGoogle Driveのファイルを読み書きする - Qiitaとかを参考にしつつ。

from googleapiclient.discovery import build
from googleapiclient.http import MediaIoBaseDownload
from google.colab import auth

target_file = 'iris.data'

auth.authenticate_user()

drive_service = build('drive', 'v3')
file_list = drive_service.files().list(
    q="name='{}'".format(target_file)).execute().get('files')

with open(target_file, 'wb') as f:
    request = drive_service.files().get_media(fileId=file_list[0]["id"])
    media = MediaIoBaseDownload(f, request)

    done = False
    while not done:
      progress_status, done = media.next_chunk()
      print(100*progress_status.progress(), end="")
      print("%完了")

こんなことして、

! ls -l

すると

-rw-r--r-- 1 root root 4551 Jul  6 05:41 iris.data

となってアップロードできていることが分かる。

import google.colab.drive
google.colab.drive.mount('gdrive')

って書いてあるし、そっちのが楽そうな気はするけど。

[第2版]Python 機械学習プログラミング 達人データサイエンティストによる理論と実践のサンプルとかを実装して実行するとさくっと動作した。
Kaggleよりさきにこっちのほうが分かりやすいかも・・・。