Python超基礎2:ColabとGoogle Driveの連携

これはPythonの基礎というわけでもないけど、Colabを快適に使うにあたってのGoogle Driveとの連携の話を残しておきたい。

2. Python超基礎2: ColabとGoogle Driveの連携

そもそものところで、ColabではGoogle Drive上のファイルを直接読み読んだり書き出したりすることができる。

2.1 Google Driveとのアカウント連携

まず連携自体の方法について書いておくと、左側のメニューからフォルダのアイコンをクリックするとファイルブラウザが立ち上がる。

その状態で「ドライブをマウント」アイコンをクリックした時には、2パターンの挙動がある。まず通常の場合には下のダイアログが出る。

こんな感じでGoogleドライブへのアクセス権を取得するためのダイアログが出る。ここで「接続」することで、今Colaboratoryを使っているGoogleアカウントのGoogle Driveが接続され、Colaboratory上で直接データの読み出し/書き込みができるようになる。

これとは違うパターンとして、ボタンを押すと以下のように、すでにコードが入力された状態の新しいセルが出現する場合がある。

これは上のマウント方法がうまくいかなった場合や、Colabのノートブックの場所をデフォルト(マイドライブ/Colab Notebooks/内)から移動させた場合などに表示される。

これを走らせたら別のダイアログが出てくるので、連携するGoogle Driveのアカウントにログインして権限リクエストを承認すればいい。

アカウントを選ぶなりログインするなりする。

連携が完了すると、以下のようにファイルブラウザに「drive」という項目が追加されている(もしマウントしたのに出てこなければファイルブラウザ上で右クリックして「更新」を選択する)。

やっていること自体はColab(というか特定のNotebook)とGoogle Driveの連携なわけだが、これに関しての注意はただひとつ、他人の作成したNotebookとのアカウント連携には注意した方がいいということだけ。連携するとDriveのファイル全体が読めてしまうのはもちろん、権限を渡している以上はそれらファイルの読み出し、コピー、書き換えまで自在にできる。

2.2 共有フォルダの使用

これはColabどころかもはやGoogle Driveに関する説明ではあるものの、よく質問されるので他人から共有してもらったフォルダ上のデータを読み出す時にどうすればいいのかを書いておく。

やるべきことは非常に簡単で、まずは他者から共有してもらったフォルダが開けることを確認する。メールアドレス等で指定して共有されている場合には、一般的にブラウザ上のGoogle Drive (drive.google.com)上の「共有アイテム」内に追加される。

必要なフォルダが表示されていたら、それを右クリックして「ドライブにショートカットを追加」を選択する。すると新たなダイアログが出てくるので、自分のドライブ上のどこにこのフォルダを追加するかを選択する。

これを行うことによって、他人のGoogle Drive上のフォルダをあたかも自分のドライブ内に存在するかのように扱うことができるようになる。これはPC上のGoogle Driveにも反映され、共有フォルダが追加される。

一度追加されれば、Colab上でも通常のフォルダと同様に読み出せる。

ただし、これはあくまで共有フォルダの「ショートカット」でありコピーを作成しているわけではないので、作成したショートカット上のファイルを操作することで共有元のユーザーのファイルにも変更が及ぶことに注意。