从Google Colab中的驱动器读取文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从Google Colab中的驱动器读取文件相关的知识,希望对你有一定的参考价值。

我已阅读有关如何打开驱动器的notebook。我已经按照指示使用:

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

此后,我可以使用!ls列出驱动器的内容,但无法读取或打开任何文件。我已经尝试过:

with open("/content/drive/My Drive/filename.ext", "r") as file:

file = open("/content/drive/My Drive/filename.ext", "r")

!cp "/content/drive/My Drive/filename.ext" "filename.ext"

还有

import pandas as pd

file = pd.read_csv("/content/drive/My Drive/filename.ext")

但是以上方法均无效。我总是得到“不支持操作”或“无法打开文件进行读取”。我已经看到一些建议使用PyDrive。但这是通过将文件从Google云端硬盘复制到Google云端硬盘来完成的。我不明白为什么您必须来回复制文件,因为我需要遍历文件夹中的所有文件。Google Colab为什么不能只读取驱动器上存储的文件?还是我做错了什么?另一件事是,我上传了一堆csv文件,但Google驱动器将它们列为“ .csv.gsheet”(使用glob)。可能是问题所在吗?我没有其他想法。

答案
非常简单!

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

在复制粘贴令牌后,这将要求打开一个将授权安装的URL。

如果您现在仍无法读取文件,则

prefix使用以下文件路径:“ drive/My Drive”,您就可以了。

例如:file = 'drive/My Drive/data/file.txt'

data是我的Google云端硬盘中包含file.txt文件的目录。

另一答案
我只是按照您的描述尝试安装和创建Drive文件,但无法重现您描述的错误。

https://colab.research.google.com/drive/17iiKJPQOPv1eW5-Ctf707mPHXDtipE5G

也许尝试使用运行时重置后端->重置所有运行时菜单。或者,您可以共享一个说明问题的笔记本吗?

另一答案
即使您上载“ .csv”文件名,您仍然看到“ .csv.gsheet”文件名的事实使我认为您正在将CSV上载到sheets.google.com而不是drive.google.com。您可以确认上传到drive.google.com可以正常工作吗?
另一答案
我(部分地)根据鲍勃·史密斯(Bob Smith)和阿米·F(Ami F)的答案,了解了发生了什么。我相信Google驱动器会阻止对已转换为驱动器格式(gsheet,gdoc等)的文件的读取访问。因此,每当我尝试使用!catopen时,都会出现“不支持操作”错误。当我尝试鲍勃的示例时,创建一个文件然后读取它,该文件就可以在我的笔记本上使用。因此,我设法prevent google from converting files,删除了旧文件并上传了所有内容以再次驱动。现在,我所有的csv都保持不变(没有.gsheet扩展),我可以使用open来访问它们。
另一答案
如果是第一次使用,则需要验证。验证并安装驱动器后,使用以下命令,

from google.colab import drive drive.mount(‘/content/drive/My Drive/Tubes Manli/used_cars.csv’)

以上是关于从Google Colab中的驱动器读取文件的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Google Colab 下载多个文件或整个文件夹?

如何使用 colab 在谷歌驱动器上保存 np.array?

Google Colab 训练很慢原因——驱动器读取数据集慢(已解决)

Google Colab 训练很慢原因——驱动器读取数据集慢(已解决)

将文件从已安装的 Google Drive 复制到本地 Google Colab 会话

Google Colab无法访问驱动器内容