【问题标题】:How to use Google Colab to work with local files?如何使用 Google Colab 处理本地文件?
【发布时间】:2019-04-11 09:51:13
【问题描述】:

我有一个 Jupiter 笔记本,并且我已经编写了处理数据的代码。现在我想使用 Colab 的 GPU 计算能力,所以我需要从 Colab 读取和写入我计算机中的本地文件。我不想手动选择文件:

from google.colab import files
uploaded = files.upload()

this link 中提到会出现“选择文件”弹出窗口,我希望这个动作是自动的。让我澄清一下:
我有下面的代码,我从本地文件中读取数据:

# Reading the csv file and convert it to a dataframe using pandas library
train_set = pd.read_csv('Datasets/train.csv')

然后我处理数据并将结果输出到另一个文件中。为此,我需要打开一个文件,读取它的内容,即我创建的输出文件的版本,然后保存输出文件:

output_version = open('OutputVersion','r+')
version = output_version.read()

training_set.to_csv('Datasets/training_set_processed_{}.csv'.format(version))

因此,我必须从 Colab 自动读取、操作和写入本地存储中的文件。我怎样才能做到这一点?我已经阅读了this manual,但我无法理解。同样,我不想弹出“选择文件”对话框。

提前致谢

【问题讨论】:

    标签: python-3.x local-storage jupyter-notebook google-colaboratory


    【解决方案1】:

    您可能希望使用左侧的文件浏览器来上传文件。

    如果你有很多文件,更简单的方法仍然是to mount your Google Drive in the filesystem

    【讨论】:

    • 正如我在问题中提到的,我不希望手动执行此操作并使用对话框。随着数据以不同的方式预处理,文件正在发生变化,我希望 Colab 自动读取和写入文件。
    【解决方案2】:

    在 Colab 中,当您使用“上传文件”选项时,它会保留在内存中,除非您的运行时会话结束,之后您上传的文件会化为乌有。

    如果您想自动执行此过程,您可能需要选择将必要的文件上传到驱动器中,然后在 Colab 中安装驱动器。 通过使用此命令:

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

    它会要求提供授权码,您可以通过访问它在编写代码时为您提供的 URL 来获取它。
    之后,您可以像这样调用您的文件:

    data = '/content/drive/MyDrive/your_file_path'
    

    【讨论】:

      【解决方案3】:

      有一种更好的方法,您可以在 google drvie 中为 google colab 创建一个文件夹并将所有文件上传到那里

      在 colab 笔记本中,您可以上传所有文件并且您工作了吗

      【讨论】: