ColabでGoogleドライブ内のファイルを読み込む
Google Colaboratory(以下,Colab) で Google ドライブ内のディレクトリから .py, .csv ファイルなどを読み込む方法を紹介します.
Colab は Jupyter 同様 .ipynb ファイルですが,個人的に Notebook 形式より CUI で実行するほうが慣れているので,Colab を使ってテストするときなどは .ipynb から .py を呼び出して使っています.
自作モジュールを使う場合などに参考にしてください.
ディレクトリとファイル例
My Drive/colab
├── data/
│ └── sample_data.csv
├── main.ipynb
└── sample.py
# sample.py (Python 3.7)
import numpy as np
def main():
colab_path = '/content/drive/My Drive/colab'
data = np.loadtxt(f'{colab_path}/data/sample_data.csv', delimiter=',')
ドライブのマウント
自作ファイルを読み込むためには Colab が Google ドライブにアクセスする権限を付与する必要があります.
from google.colab import drive
drive.mount('/content/drive')
実行すると認証コードを入力するように求められるので,指示に従って認証ページのコードをコピペ入力します.
モジュールをインポートする
認証が通ると Google ドライブが Colab にマウントされるので,自作モジュールを追加する場合は対象のパスをシステムのパスに追加して Python からアクセスできるようにします.
import sys
sys.path.append('/content/drive/My Drive/colab')
あとはファイルを import すればよいだけです.
import sample
if __name__ == '__main__':
sample.main()
# or
from sample import main
if __name__ == '__main__':
main()
CSV ファイルなどを読み込む
通常は相対パスで設定できますが,Colab ではドライブ上の .ipynb からの相対パスが利用できないっぽいです.
絶対パスを指定することで読み込むことができます.
data = np.loadtxt('/content/drive/My Drive/colab/data/sample_data.csv', delimiter=',')
ドライブ内に新たにファイルを追加したときの注意点
Colab 実行中にドライブにファイルを新しく入れたり作ったりしても,ランタイム起動時の設定で動いているので反映されません.
一度 [Restart] > [Restart rumtime] でランタイムを再起動してください.