python教程—谷歌Colab:如何从我的谷歌驱动器读取数据?-Python实用宝典

python教程—谷歌Colab:如何从我的谷歌驱动器读取数据?

问题很简单:我有一些关于gDrive的数据,例如at /项目/ my_project / my_data *。我也有一个简单的笔记本在gColab。

问题很简单:我有一些关于gDrive的数据,例如at
/项目/ my_project / my_data *。

我也有一个简单的笔记本在gColab。

所以,我想做的是:

    for file in glob.glob("/projects/my_project/my_data*"): do_something(file)

不幸的是,所有的例子(这样- < a href = " https://colab.research.google.com/notebook " = / v2 /外部/笔记本电脑/ io.ipynb”rel = " noreferrer " > https://colab.research.google.com/notebook文件标识= / v2 /外部/笔记本电脑/ io.ipynb < / >,例如)建议只有笔记本主要加载所有必要的数据。

但是,如果我有很多数据,它可能会非常复杂。
有机会解决这个问题吗?

谢谢你的帮助!

回答

好消息,PyDrive在CoLab上有一流的支持!PyDrive是谷歌Drive python客户机的包装器。下面是一个关于如何从一个文件夹下载ALL文件的例子,类似于使用glob + *:

    !pip install -U -q PyDrive import os from pydrive.auth import GoogleAuth from pydrive.drive import GoogleDrive from google.colab import auth from oauth2client.client import GoogleCredentials # 1. Authenticate and create the PyDrive client. auth.authenticate_user() gauth = GoogleAuth() gauth.credentials = GoogleCredentials.get_application_default() drive = GoogleDrive(gauth) # choose a local (colab) directory to store the data. local_download_path = os.path.expanduser('~/data') try: os.makedirs(local_download_path) except: pass # 2. Auto-iterate using the query syntax # https://developers.google.com/drive/v2/web/search-parameters file_list = drive.ListFile( {'q': "'1SooKSw8M4ACbznKjnNrYvJ5wxuqJ-YCk' in parents"}).GetList() for f in file_list: # 3. Create & download by id. print('title: %s, id: %s' % (f['title'], f['id'])) fname = os.path.join(local_download_path, f['title']) print('downloading to {}'.format(fname)) f_ = drive.CreateFile({'id': f['id']}) f_.GetContentFile(fname) with open(fname, 'r') as f: print(f.read())

注意要驱动的参数。ListFile是一个字典,它与谷歌Drive HTTP API使用的参数相一致(您可以自定义q参数,以便根据您的用例进行调优)。

知道在所有情况下,文件/文件夹都是由id在谷歌驱动器上编码的(查看1SooKSw8M4ACbznKjnNrYvJ5wxuqJ-YCk)。这要求您搜索谷歌驱动器,以找到与要将搜索根目录对应的特定id。

例如,导航到“/projects/my_project/my_data”文件夹
位于您的谷歌驱动器中。

谷歌Colab:如何从我的谷歌驱动器读取数据?

其中id是url的最后一部分:1SooKSw8M4ACbznKjnNrYvJ5wxuqJ-YCk

​Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

本文由 Python实用宝典 作者:Python实用宝典 发表,其版权均为 Python实用宝典 所有,文章内容系作者个人观点,不代表 Python实用宝典 对观点赞同或支持。如需转载,请注明文章来源。
0

发表评论