MB blog

こちらは主に自分用のメモです。

Google Colaboratory で Google Drive 上の CSV ファイルを読み込む


スポンサードリンク

Google Colaboratory(Colab)とは

Google Colaboratory を使う機会がありました。通称 Google Colab (コラボ)。ざっくり言うと Google Drive 上で実行できる Jupyter Notebook です。インストールやセットアップの必要もなくブラウザ上でいきなり動くし、ノートの共有もドライブを介して簡単にできるので、分析レポートをサクッと公開したり、初心者向けの勉強会とかにぴったり。

しかも作成したノートブック(.ipynb)は Jupyter と互換性があるので、ダウンロードしてローカルの Jupyter Notebook でも開いて実行できる。

FileNotFoundError で Colab から CSV が読めない

Jupyter Notebook で任意の CSV ファイルなどを読み込む場合は単にパスを指定すればよかった(.ipnyb と同じディレクトリにあればファイル名の指定のみでよかった)のですが、Colab の場合、Google ドライブ上の同一ディレクトリにファイルを置いていても FileNotFoundError で怒られます。

Colab から Google ドライブ上のファイルにアクセスするステップ

Google Drive のマウント

まず、自分の Google ドライブを Colab 上で読み込めるようにマウントしてやる必要があります。
f:id:lake_michigan:20190828140046p:plain

左ペインの「ファイル」タブをクリックすると、「ドライブをマウント」と表示されるので、そこをクリックすると、コードエリアにマウント用のコードスニペットが登場します。これを実行すると、別ブラウザが開いて認証用のコードが表示されるので、それをコピペしてコードエリアで入力。
左ペイン「ファイル」タブに、My Drive が確認できるようになります。

f:id:lake_michigan:20190828140908p:plain

ドライブ上のパスの取得

表示されたドライブのツリーから、目当てのファイルを右クリックして「パスをコピー」。
f:id:lake_michigan:20190828141755p:plain

そこでコピーしたパスをプログラム上で指定します。

import pandas as pd
df = pd.read_csv('/content/drive/My Drive/Colab Notebooks/sampledata.csv')

これでファイルにアクセスできました〜!
しかし、このマウントの処理、Colab を使うたびに毎回必要なんです。機械学習で画像とか、大量ファイルを扱う時にはキツくないですか...?