Colaboratory:我可以访问我的 Google 云端硬盘文件夹和文件吗?

Posted

技术标签:

【中文标题】Colaboratory:我可以访问我的 Google 云端硬盘文件夹和文件吗?【英文标题】:Colaboratory: Can I access to my Google drive folder and file? 【发布时间】:2018-05-24 10:57:56 【问题描述】:

Google Colaboratory 真的很酷,但如果我可以访问我所有的 google drive 文件,而不使用标准的 google drive API,它会更有用。

这可能而且容易吗?以及如何?

【问题讨论】:

您是否找到了一种直接在 Google 云端硬盘中访问文件/文件夹的简便方法?我还发现这篇文章是在你的这篇文章之后发布的:***.com/questions/48376580/…,但我还不清楚。 【参考方案1】:

以下是使用 FUSE Drive 界面访问您的 Drive 文件(如本地文件)的示例: https://colab.research.google.com/notebook#fileId=1srw_HFWQ2SMgmWIawucXfusGzrj1_U0q

简而言之:

# Load the Drive helper and mount
from google.colab import drive
drive.mount('/content/drive')

执行上述代码后,您的云端硬盘文件将出现在 /content/drive/My Drive 中。

我猜您还发现了捆绑的示例 I/O 笔记本,其中还展示了如何使用 Python API 来访问文件。 (这需要更少的配置。) https://colab.research.google.com/notebook#fileId=/v2/external/notebooks/io.ipynb&scrollTo=c2W5A2px3doP

【讨论】:

不确定如何使用它来“映射”文件夹。想象一下,我正在运行一个需要遍历该文件夹中所有文件的 colab 笔记本的文件夹中有数千个单独的文件。 我已成功将 Colab Notebooks 文件夹中的文件映射为 (a) !cat drive/'Colab Notebooks'/hobbit.txt 和 (b) textRDD = spark.sparkContext.textFile("驱动器/Colab Notebooks/hobbit.txt")【参考方案2】:

要将您的 Google 驱动器安装到 Colab:

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

然后将 cd 转到 Google 驱动器中的任何目录:

import os
os.chdir("drive/My Drive/<your-folder>")

并列出 Colab 正在处理的目录中的所有项目(以确保它是正确的目录):

!ls

【讨论】:

这对我有用,似乎是所有答案中最简单的。 这个答案是最好的!谢谢~ 谢谢哥们!!! :)【参考方案3】:

请按照 colab notebook 中的 3 个简单步骤访问 google drive 中的文件夹或文件,

步骤:1 运行这个 sn-p

    !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

在此步骤中,您将被要求两次单击链接以允许访问您的驱动器, 在每一步都会生成代码:(例如:4/AACN9EZG2AU0dRsV0BupjAc107ugSvT_pmr4YPElX7VkoWru6mNmqc8)。粘贴此代码并点击进入。

步骤:2创建目录

!mkdir -p drive
!google-drive-ocamlfuse drive

步骤:3访问您的文件

import pandas as pd
trainDf = pd.read_csv("drive/app/Sample/train.csv");//Here is your file 

【讨论】:

【参考方案4】:

成功运行 Drive FUSE 程序后,您可以使用命令访问您的驱动器 /content/drive

import os
os.chdir("/content/drive/")
!ls

【讨论】:

【参考方案5】:

是的,你可以这样做。

按照以下步骤操作。

运行以下代码并完成认证

 !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

**导入文件到笔记本**

import pandas as pd
pd.read_csv("drive/Colab_Notebooks/4k_without_spcl.csv") 

Colab_Notebooks 是谷歌驱动器中的文件夹

【讨论】:

重复答案。 是否可以使用这种方法将文件写入谷歌驱动器? 是的,您可以使用 pandas.to_csv 方法将数据框写入 csv。 如果你的代码中有一个名为 df 的数据框,那么只需 df.to_csv("drive/urfolder/data.csv")【参考方案6】:

按照以下步骤操作:-

    直接进入文件部分,即右侧的第三个图标 点击第三个图标,上面有 google drive 登录。 额外的代码块将自动添加到您的笔记本中 运行该块,您将在运行时终端中获得一个链接 点击它会将您定向到 google 的登录 ID 点击您要链接的 google 驱动器的 ID 按 OK 将出现在下一页 复制下一页的代码并粘贴 它在您的 google Colab 运行时终端中

将“驱动器”文件夹添加到文件部分后,您可以通过它访问它

import os 
folder = os.path.join('/content/drive/My Drive/foldername')

【讨论】:

以上是关于Colaboratory:我可以访问我的 Google 云端硬盘文件夹和文件吗?的主要内容,如果未能解决你的问题,请参考以下文章

使用Google Colab训练神经网络

使用本地 GPU 的 Google Colaboratory 本地运行时

在存储在谷歌驱动器中的谷歌 Colaboratory 中导入 zip 文件

谷歌colaboratory和谷歌云之间的接口

如何修复 Colaboratory 中的 zipfile 读取错误?

有没有办法直接从一些网站上传数据集到colaboratory?