如何直接从自己的云端硬盘将.txt(或其他文件类型)导入Google Colab笔记本中?

时间:2019-07-17 23:32:55

标签: python file-upload google-drive-api jupyter-notebook google-colaboratory

我正在尝试从我自己的Google云端硬盘中将几个.txt文件导入Colab。我正在使用的colab笔记本与我要在该笔记本中上载的文件位于同一文件夹中。尽管Colab中External data: Local Files, Drive, Sheets, and Cloud Storage上有关于文件I / O的文档,但这些描述似乎并不符合我的要求(例如,每次使用笔记本时,我都可以直接从本地目录上传这些文件,但是相反,我想编写一个单元,将其加载一次并通过与我自己的云端硬盘的连接来保持加载状态)。另外,我要上传的.txt文件包含纯文本示例,用于在情感分析方面训练深度学习算法,因此对于功能等效的应用程序似乎无法转换为.csv(这可能由Google解决。表格)。

External data: Local Files, Drive, Sheets, and Cloud Storage中,可以选择以下选项:1)从本地目录上传,2)本地安装/使用API​​到云端硬盘或3)从Google表格或Google Cloud Storage导入。在这些工具中,我尝试了1和2,但是由于我对Python和Colab还是比较陌生,因此2和3的文档令人困惑,并且不能明确地将我引向解决方案。因此,我的问题很可能是解释问题,在这种情况下,显示2/3如何解决问题将很有帮助。

我认为应该可以在Colab中引用这些.txt文件,因为colab笔记本和.txt文件都位于同一个Drive文件夹中,但是也许我在导航时比较了Colab的单元格功能文件放在您日常终端的目录中。

1 个答案:

答案 0 :(得分:0)

如果您要在Google云端硬盘的根目录中写入一个名为foo.txt的文件,则以下代码应将该文件读入Colab:

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

以上内容将要求您通过单元格输出中的链接提供凭据。授权此访问权限后,您可以在另一个单元格中运行以下命令,将Hello Google Drive!写入Google云端硬盘中名为foo.txt的文本文件中:

with open('/content/drive/My Drive/foo.txt', 'w') as f: 
    f.write('Hello Google Drive!')

要从Google云端硬盘中读取名为foo.txt的Google云端硬盘中的文本文件,您可以类似地使用:

with open('/content/drive/My Drive/foo.txt', 'r') as f: 
    print(f.read())

如果在写入foo.txt之后运行此阅读代码,则应输出Hello Google Drive!