如何在Jupyter上打开本地文件?

bit*_*xyz 7 python jupyter-notebook

在[1]中:

path='/Users/apple/Downloads/train.csv'
open(path).readline()
Run Code Online (Sandbox Code Playgroud)

出[1]:

FileNotFoundError                         Traceback (most recent call 
last)
<ipython-input-7-7fad5faebc9b> in <module>()
----> 1 open(path).readline()

FileNotFoundError: [Errno 2] No such file or directory: 
'/Users/apple/Downloads/train.csv'
Run Code Online (Sandbox Code Playgroud)

我很困惑,我认为这段代码与许多教程完全相似,并且我确定我的文件在正确的路径中,但是为什么它不起作用?

bit*_*xyz 11

很多教程说我们应该改变Jupyter的工作流程,但我没有得到它。

最后,我找到了一个简单的方法:只需将文件拖到这部分即可。

在此处输入图片说明


小智 10

这是一个可能的解决方案(在 Python 中):

假设您有一个带有文件名的笔记本,将其命名为 Notebook.ipynb。您当前正在该笔记本中工作,并且想要访问它周围的其他文件夹和文件。这是它的路径:

import os
notebook_path = os.path.abspath("Notebook.ipynb")
Run Code Online (Sandbox Code Playgroud)

换句话说,只需使用 os 模块,并获取笔记本的绝对路径(它也是一个文件!)。从那里,使用 os 模块和您的路径进行导航。

例如,如果您的 train.csv 位于名为“Datasets”的文件夹中,并且笔记本就位于该文件夹旁边,您可以获得如下数据:

train_csv = os.path.join(os.path.dirname(notebook_path), "Datasets/train.csv")
with open(train_csv) as file:
    #....etc
Run Code Online (Sandbox Code Playgroud)

要点是笔记本有一个文件名,只要您的语言支持路径名操作(例如 Python 中的 os 模块),您就可以使用笔记本文件名。

最后,您的代码失败的原因可能是因为您在使用在线笔记本(例如 Kaggle,它为您托管您的环境,在线和离开您的 Mac),或者您移动或删除了该路径中的某些内容。这就是 Python 中的 os 模块的目的;它会找到文件的路径,无论它是在你的 Mac 上还是在 Kaggle 服务器中。


Reb*_*que 7

osX,你的路径应该是:

path = "/Users/name/Downloads/filename"
Run Code Online (Sandbox Code Playgroud)

使用name当前用户登录


ibo*_*odi 7

安装 Jupyter。打开终端。转到文件所在的文件夹(在终端中,即cd path/to/folder)。跑步jupyter notebook。瞧:你有这样的东西:

在此输入图像描述

请注意,要打开文件夹中的笔记本,您可以在浏览器中单击它或转到地址:

http://localhost:8888/notebooks/name_of_your_file.ipynb
Run Code Online (Sandbox Code Playgroud)


小智 5

你是在 Windows 还是 Linux 上运行这个?如果您使用的是 Windows,那么您应该使用类似C:\\Users\\apple\\Downloads\train.csv. 如果您使用的是 Linux,那么您可以遵循相同的路径。