【问题标题】:Code running on PyCharm, but not Jupyter在 PyCharm 上运行的代码,而不是在 Jupyter 上运行的代码
【发布时间】:2018-04-24 10:55:40
【问题描述】:

我必须打开一个excel文件,我是这样做的:

 xl_file = pd.ExcelFile('D:\mypath\myFile.xls')

在 PyCharm(Python 2.7.8) 上它运行良好,但在 Jupyter(Python 3) 上,我总是出现这个错误:

FileNotFoundError: [Errno 2] No such file or directory

可能是什么原因?

【问题讨论】:

    标签: python excel pandas pycharm jupyter


    【解决方案1】:

    如果您在根目录以外的位置调用 jupyter notebook,则可能会发生这种情况。在这种情况下,jupyter 可能无法访问该文件。

    尝试转到 D: 并调用 jupyter notebook 然后重试。另一种选择是使用以下方法获取笔记本的路径:

    os.path.abspath("__file__")
    

    然后设置数据集的相对路径。

    编辑:

    假设您想在包含笔记本的目录上方设置一个路径。然后你会这样做:

    foo = os.path.dirname(os.path.abspath("__file__"))
    relative_path = os.path.join(foo, '..')
    

    【讨论】:

    • 我从 Coursera 网站调用 Jupyter,所以我认为第一个选项我无能为力。如何设置相对路径?
    • 啊。那么 jupyter 是否在 coursera 服务器上运行?这可能是你问题的根源。
    • 如果 jupyter notebook 在 coursera 服务器上运行,那么这相当于它在另一台计算机上运行。您可以通过浏览器使用笔记本,但无法访问您自己机器上的文件。如果这个数据集是作业的一部分,那么我猜这应该可以在他们的服务器上以某种方式访问​​。我建议检查分配说明。如果您仍然无法弄清楚,请在此处发布指向说明的链接。
    • 我已按照以下说明操作:stackoverflow.com/questions/35254852/… 但仍然无法正常工作
    • 这里似乎存在根本性的误解。问题不在于您无法更改文件夹。问题是您的数据集和 jupyter notebook 正在两台不同的计算机上运行。如果您在本地计算机上打开终端或命令提示符并键入 jupyter notebook - 那么您应该能够按照链接到的说明进行操作。
    【解决方案2】:

    按照本文how to change jupyter start folder? 中的建议更改 Jupyter 启动文件夹后,如果文件位于此文件夹中,则无需写入路径即可加载它们。这就够了:

    xl_file = pd.ExcelFile('myFile.xls')
    

    【讨论】:

      猜你喜欢
      • 2020-07-26
      • 2022-12-06
      • 2019-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-24
      • 1970-01-01
      • 2020-11-09
      相关资源
      最近更新 更多