colabノートブック(**。ipnb)のファイルを読み取る方法はたくさんありますが、いくつかの方法があります。
- ランタイムの仮想マシンにGoogleドライブをマウントします。こことここ
- google.colab.files.upload()を使用します。最も簡単な解決策
- 使用してネイティブのREST APIを。
- PyDriveなどのAPIのラッパーを使用する
方法1と2 はうまくいきましたが、残りはわかりませんでした。誰かができれば、他の人が上記の投稿で試したように、エレガントな答えを書いてください。前もって感謝します。!
最初の方法:
Googleドライブをマウントできなかったため、これらのライブラリをインストールしました
# Install a Drive FUSE wrapper.
# https://github.com/astrada/google-drive-ocamlfuse
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
インストールと認証プロセスが完了したら、まずドライブをマウントします。
!mkdir -p drive
!google-drive-ocamlfuse drive
インストール後、Googleドライブをマウントできました。Googleドライブのすべてのものが/ content / driveから始まります
!ls /content/drive/ML/../../../../path_to_your_folder/
これでpath_to_your_folder
、上記のパスを使用して、フォルダーからパンダにファイルを単に読み取ることができます。
import pandas as pd
df = pd.read_json('drive/ML/../../../../path_to_your_folder/file.json')
df.head(5)
受け取った絶対パスを使用していて、/ .. /。を使用していないとします。
2番目の方法:
これは、読み取りたいファイルが現在の作業ディレクトリにある場合に便利です。
ローカルファイルシステムからファイルをアップロードする必要がある場合は、以下のコードを使用できますが、それ以外の場合は回避してください。
from google.colab import files
uploaded = files.upload()
for fn in uploaded.keys():
print('User uploaded file "{name}" with length {length} bytes'.format(
name=fn, length=len(uploaded[fn])))
Googleドライブのフォルダ階層の下にあるとします:
/content/drive/ML/../../../../path_to_your_folder/
次に、パンダにロードするために以下のコードが必要です。
import pandas as pd
import io
df = pd.read_json(io.StringIO(uploaded['file.json'].decode('utf-8')))
df