使用numpy loadtxt

时间:2019-03-12 18:11:28

标签: python numpy import google-colaboratory

我正在尝试将JupyterLab笔记本迁移到Google Colab。在JupyterLab中,当我的笔记本文件和相关的csv文件位于同一目录中时,可以很方便地使用numpy的loadtxt函数导入数据,如下所示:

import numpy as np
filein = "testfile.csv"
data = np.loadtxt(open(filein, "rb"), delimiter=",", skiprows=1)

出于各种原因,我想继续在Colab中使用np.loadtxt。但是,当我在此处尝试相同的代码时,尽管csv文件与笔记本文件位于相同的Google云端硬盘位置,却找不到。我收到此错误:"FileNotFoundError: [Errno 2] No such file or directory: 'testfile.csv'"

我收集到某种程度上我需要提供文件的路径,但是还没有弄清楚该怎么做。有什么简单的方法可以使用np.loadtxt吗?

3 个答案:

答案 0 :(得分:5)

Colab不会自动挂载Google云端硬盘。默认情况下,临时目录虚拟机上的工作目录为/content

要访问云端硬盘中的文件,您需要先使用以下代码段将其装入:

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

然后,%cd /content/gdrive/My\ Drive将工作目录更改为驱动器根目录。 (或者,根据需要自定义testfile.csv所在位置的路径。)

答案 1 :(得分:1)

这是另一种较少人工干预的方式。如果您打算在多个断开连接的会话中长时间运行colab笔记本,这样就不需要每次都手动上载文件,此功能将更为有用。

  1. 将文本文件上传到Google驱动器。单击共享并获取可共享的链接。例如,这是文件iris.csv的示例共享链接:https://drive.google.com/file/d/1Llp483f91dAJriuE6PanmecLA9sWDPyi/view

  2. 从上面的链接复制文件ID。在这种情况下,它是1Llp483f91dAJriuE6PanmecLA9sWDPyi

  3. 现在您可以在任何colab笔记本中使用以下单元格下载文件:

    file_id = "1Llp483f91dAJriuE6PanmecLA9sWDPyi" # replace with your ID
    !gdown https://drive.google.com/uc?id={file_id}
    

键入!ls以在工作区中查看文件。

有关详细的官方指南,请参阅此笔记本:https://colab.research.google.com/notebooks/io.ipynb

答案 2 :(得分:1)

没有命令的更短

# mount gdrive with this code
from google.colab import drive
drive.mount('/content/drive')
#below where the file is in gdrive, change with your
data_path = "/content/drive/My Drive/Colab Notebooks/test/"
yearsBase, meanBase = np.loadtxt(data_path + 'file.csv', delimiter=',', unpack=True)

完成,不需要其他代码 巧