Google Colaboratoryでファイルを読み込む方法

2020年5月26日



オンラインで手軽にPythonコードを実行できるGoogle Colaboratory
オンラインであるがゆえに通常のPythonの実行環境とはファイルの読み込み方が異なります。

今回はGoogle Colaboratoryでファイルを読み込む方法について紹介します。

Google Colaboratoryでファイルを読み込む方法は

  • ブラウザからファイルをアップロードして読み込む
  • Google Driveからファイルを読み込む

の2つの方法があります。

ブラウザからファイルをアップロードして読み込む方法は、一時的にファイルを使いたい時にオススメで、
Google Driveからファイルを読み込む方法は、複数のノートブックで同じファイルを扱いたい時や、毎回ファイルをアップロードする作業が面倒な時にオススメです。

これから、この2つの方法を解説します。


ブラウザからファイルをアップロードして読み込む

この方法はファイルを一時的にアップロードして扱いたい場合に有効です。

インスタンスの作成

まず始めに、Colaboratoryのノートブックを開き、「接続」をクリックしてインスタンスを作成します。

インスタンスが作成されるとこのようにRAMとディスクの情報が表示されます。


ファイルのアップロード

次にファイルのアップロードを行います。

画面の左側にあるフォルダアイコンをクリックしてファイルメニューを開きます。

「アップロード」を選択して読み込みたいファイルをアップロードします。

ファイルをアップロードするとこのようなポップアップが出てくると思います。
ここでは「OK」ボタンをクリックしてください。

※注意
ポップアップに記述してあるように、ここにアップロードしたファイルはノートブックを閉じた際に削除されます。
ファイルを削除されたくない場合は、次に紹介するGoogleドライブからファイルを読み込む方法を参考にしてください。

sample.txt

rbn-lab.net
ロビンソン人工無能研究所
あくのんご

今回は上記のsample.txtというファイルを作成・アップロードします。


ファイルの読み込み

with open('sample.txt') as f:
	s = f.read()
	print(s)

上記のコードようなコードを記述して実行してください。

出力

rbn-lab.net
ロビンソン人工無能研究所
あくのんご

実行するとテキストファイルが読み込まれて実行結果に表示されるはずです。


Google Driveからファイルを読み込む

Google Driveからファイルを読み込む方法であれば、ノートブックを閉じた際にファイルが削除されることはありません。
他のノートブックから同じファイルを使いたい時やファイルを毎回アップロードすることが面倒な時に便利です。

ファイルのアップロード

Google Colaboratoryで読み込むファイルをGoogleドライブにアップロードします。

sample.txt

rbn-lab.net
ロビンソン人工無能研究所
あくのんご

今回は上記のsample.txtというファイルを作成・アップロードして読み込んでみます。

このようにGoogleドライブの直下にアップロードしています。


Google Driveのマウント

Googleドライブからファイルを読み込む際には、Googleドライブのマウント作業を行って、Google ColaboratoryとGoogleドライブを連携させる必要があります。

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

上記のコードを入力して実行してください。

コードを実行すると、実行結果の部分にリンクが表示されるので、このリンクをクリックしてアクセスします。

アカウントの選択画面が出てくるので、連携させたいアカウントをクリックします。

リクエストの確認画面が表示されるので、「許可」をクリックします。

このようにコードが表示されるので、このコードをコピーします。

ノートブックの画面に戻り、先ほどコピーしたコードを入力欄に入力して、Enterキーを押します。

マウントが完了すると「Mounted at /content/drive」と表示されます。


ファイルの読み込み

ファイルをGoogle Colaboratoryから読み込みます。

file_path = '/content/drive/My Drive/sample.txt'
with open(file_path) as f:
	s = f.read()
	print(s)

上記のようなソースコードを記述して実行してください。

出力

rbn-lab.net
ロビンソン人工無能研究所
あくのんご

実行するとテキストファイルが読み込まれて実行結果に表示されるはずです。


ファイルパスについて

Googleドライブからファイルを読み込みする時のパスは

'/content/drive/My Drive/' + </googleドライブ直下からのパス>

となります。

例えば、Googleドライブの直下に「sample」というフォルダを作って、
そのフォルダの中に「sample.txt」というファイルを置いた場合は

'/content/drive/My Drive/sample/sample.txt'

がファイルのパスとなります。