Pythonに限らず、プログラムでCSVファイルを読み込む場合、そのCSVファイルの保存先がデスクトップであることは極めて少ないと個人的に思います。
Googleアカウントをお持ちの方であれば、GoogleDriveにファイルを保存している方も多いのではないでしょうか。
私は普段、Pythonでデータを解析する際、GoogleColabを利用するのですが、各種ファイルはソースコードと同じフォルダ内に別フォルダを設けて保存しています。
保存したファイルをPythonを使って読み込む場合、当然ながら、ファイルの保存先(パス)を指定しなければなりません。
単純な作業かもしれませんが、最初は躓くポイントでもあるため、GoogleColabでGoogleDriveに保存したCSVファイルを読み込む方法について、ご紹介したいと思います。
GoogleDriveの保存先を単純に指定しても、ファイルが読み込めない罠
GoogleDriveに保存したファイルを読み込む際、単純にファイルの保存先(パス)を記述しても、エラーとなり、読み込むことができません。
例えば、以下のようにソースコードを記述してみます。
実行すると、
import pandas as pd
Dir = '/content/drive/MyDrive/Colab Notebooks/blog/'
customer_master = pd.read_csv( Dir + 'customer_master.csv' )
以下のような、エラーが表示されていることがわかると思います。
GoogleDriveで保存したファイルの読み込みエラー最初、保存先を指定する記述を疑ってしまいがちですが、単純にGoogleDriveがアクセスを拒否しているため、いくら頑張って正しい保存先のアドレスを指定しても、エラーを解除することはできません。
私はこれだけで結構はまってしまいました・・・
では、どのようにすれば、GoogleDriveに保存したファイルを読み込むことができるのか。
その方法についてご紹介します。
GoogleColabで GoogleDriveをマウントする方法
GoogleDriveに保存したファイルを読み込むには、GoogleDriveをマウントしなければなりません。
「マウント」とは、今回のケースで言えば、GoogleDriveに対して、GoogleDriveに接続したアプリ(GoogleColab)を認識させ、GoogleDriveを利用できる状態にすることを言います。
つまり、GoogleDriveへのアクセスを許可するような記述や作業が必要となります。
GoogleColabではいくつか、GoogleDriveをマウントする方法があり、それらの方法についてご紹介します。
GoogleColabのクリック操作でGoogleDriveをマウントする方法
GoogleColabを使って、GoogleDriveをマウントする方法で、一番簡単なのがクリック操作による方法です。
個人で利用する分では、恐らくほとんどの人が、この操作だけで十分だと思います。
仕事で活用する人にとっては、クリック操作は個人の環境に依存してしまうため、おすすめはしません。
あくまで個人で利用することを想定した方法となります。
では、早速、操作方法を見てみましょう。
まず、GoogleColabの左メニュー「ファイル」をクリックし、表示された3つのアイコンのうち、一番右のGoogleDriveのアイコンをクリックします。
左メニュー「ファイル」から「GoogleDriveをマウント」をクリックGoogleDriveのアイコンをクリックすると、GoogleColabからGoogleDriveへのアクセス許可が求められますので、「GOOGLEドライブに接続」をクリックします。
GoogleDriveへのアクセス許可これで、GoogleDriveへのマウントが完了です。
では、エラーが解消されているか、コードを実行して結果みてみましょう。
import pandas as pd
Dir = '/content/drive/MyDrive/Colab Notebooks/blog/'
customer_master = pd.read_csv( Dir + 'customer_master.csv' )
customer_master.head()
GoogleDriveからCSVファイルを読み込んだ結果GoogleDriveのファイルが正常に読み込まれ、表示もファイルの内容と一致していることが確認できます。
GoogleDriveの保存先のパスを取得する方法
GoogleDriveに保存したファイルを読み込むには、対象ファイルの保存先のパスが必要になります。
パスに誤りがあると、正常にファイルが読み込めないので気を付けましょう。
例えば、以下の指定だとエラーになり、「ファイルが見つからない」と怒られます。
import pandas as pd
Dir = '/MyDrive/Colab Notebooks/blog/'
customer_master = pd.read_csv( Dir + 'customer_master.csv' )
一見、間違っていないように見えますが、MyDriveよりも上位のフォルダは存在しており、これだと正確なパスになっておらず、エラーが出てしまいます。
では、どのようにして正確なパスは取得できるのか。
GoogleColabではめちゃくちゃ簡単な方法で、パスを取得できます。
GoogleColabを利用して、ファイルのパスを取得する方法について、ご紹介します。
GoogleColabでは左メニューのフォルダ構成から、対象のファイルまでクリックして、フォルダを開きます。
GoogleDriveのファイルパスを取得対象ファイルまでたどり着けたら、その対象ファイルにカーソルをあてると、ファイル名の右側に三つの丸マークがあるので、それをクリックします。
「パスをコピー」をクリックすると、保存先のファイルのパスを取得できます。
GoogleColabを使えば、簡単にGoogleDriveのファイルが読み込める
GoogleColabは私のような独学かつ初心者にとっては、最高のツールです。
今回のようなGoogleDriveのフィルを読み込む作業も、ほとんどクリック操作だけでできてしまうので、悩む時間も少なく、作業を終えることができます。
GoogleDriveを活用したファイルの読み込みは、色々なプログラミングの場面でも活用できるため、覚えておいて損はありません。