Help us understand the problem. What is going on with this article?

Google Colaboratoryで自分のGoogle Driveのマウントをするっぺ

この記事は、「NISE(南山大学 青山研究室)」のアドベントカレンダー2019の16日目の記事です。

はじめに

Colabでプログラムを実行するときに、自分のGoogle Drive(以下ドライブ)にあるファイルを読み込みたくなるときがありますよね。(というかこれしないと何も進まない)
今回はそのやりかたをさらっと書きます。

ちなみになんでColabを使いたいかというと、WindowsやChromebookで開発環境を構築するのが普通にめんどくさいからですwww

どのPCからいつでもpythonのプログラムを実行したいときにcolabってほんっと有能ですよねえ。。。例えば新幹線の中で研究進めたいときとか。

…話題が逸れたので進めます。

1.マウントするプログラムを追加

下のプログラムを追加して実行しましょう。

from google.colab import drive
drive.mount('/content/drive')

これを実行するだけでマウントできちゃいます。

腰が抜けるくらい簡単ですね。

2.プログラムを実行

で、実行するとこうなります。

login0.png

まず、Go to this URL in a brouser :以下のURLに飛びます。
すると、

login1.png

googleのアカウントを選択できる画面になるので、マウントしたいドライブのフォルダがあるアカウントを選択。

諸々のデータいじりますよーの同意を求められるので、同意をすると、

login3.png

コードが出てきます。

このコードをコピーしてプログラムに戻り、Enter your authorization code :以下のボックスに貼り付けると、

login5.png

Mounted at /content/driveと出たらマウント成功です。

ちなみに当たり前ですが、colabの時間制限によりインスタンスが落とされると、マウントし直さなければならないので、もう一度ここまでの操作が必要です。

(おまけ)3.使えるのかテスト

マウントしたドライブを開くにはどうしたらいいのか、テストして確かめましょう。

基本的にはローカル環境でPCを使う場合と同じようにしてファイルを開くことが出来ます。

今回使うプログラムは、csvファイルを読み込んで、同じ行内にあるdatetime型のデータの差分を取り、その差分すべての平均や中央値などを求めるプログラムです。得られたデータはtxtファイルにして保存します。

以下ソースコード

log_diff.py
import pandas as pd
import numpy as np
import sys
import csv
import datetime
from google.colab import files
import io

file = input("input filename : ") #ファイル名入力


#読み込んだCSVファイルをListに変換
df = pd.read_csv(file, parse_dates=['send','receive'])

df['difference'] = df['receive'] - df['send'] #差分を計算
mean = df['difference'].mean() #平均
median = df['difference'].median() #中央値
dfmax = df['difference'].max() #最大値
dfmin = df['difference'].min() #最小値
count = df['difference'].count() #データ数
std = df['difference'].std() #標準偏差

print(df)
s = str(file)+'\nmean:'+str(mean)+'\nmedian:'+str(median)+'\nmax:'+str(dfmax)+'\nmin:'+str(dfmin)+'\ncount:'+str(count)
print(s)


file = file.replace("csv", "txt")
f = open(file, 'w')
f.write(s) #textファイルに書き込み
f.close()

実行すると、

test3.png

開きたいファイルは(マイドライブをカレントディレクトリとして)Colab Notebooks 内のnormal_b_log.csvです。

colabを開いたときのカレントディレクトリは、contentになっています。

なので、上記のファイルを開くときは、drive/My Drive/Colab Notebooks/normal_b_log.csv

と入力するのが正解です。

ちなみに、My driveを忘れがちなのでココは要注意です。

test4.png

これを実行すると、Colab Notebooksnormal_b_log.txtというファイルが生成されます。

ドライブを見比べると、

maketxt1.png
↑実行前

test2.png
↑実行後

normal_b_log.txtが追加されました。

ということで無事使えるようになりましたとさ。。。

まとめ

マウントの手順
1. プログラムを追加して実行
2. URLに飛び、コードを取得
3. コードを貼り付ける

マウントしたドライブを開く手順・注意点
1. ローカル環境のPCと開き方は同様
2. カレントディレクトリはcontent
3. My driveを忘れないように注意

参考文献

google Colaboratoryでファイルを読み込む方法
【秒速で無料GPUを使う】深層学習実践Tips on Colaboratory

p.s

どうにか名古屋から品川の新幹線の中で書ききりました。
明日の記事も品川から名古屋の新幹線の中で書きます。
頑張るぞ~

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした