需要读取一个csv文件,该文件与运行jupyter Notebook的文件不在同一路径上

时间:2019-06-07 21:14:14

标签: python jupyter-notebook

我希望读取本地驱动器中存在的一个csv文件,例如:C:\ Users \ Studyfolder \ abc.csv 我的python库安装在另一个目录中-为python 3库创建的路径,例如:C:\ Users \ Anaconda3_2 \ envs \ py3

在Anaconda提示符 上-我将cd路径设置为-C:\ Users \ Anaconda3_2 \ envs \ py3,因为自然地,所有python库都将安装在这里< / p>

在Jupyter Notebook上 ,我希望读取csv文件以提取数据框。出于肯定的原因,当我运行命令时 df = pd.read_csv('abc.csv'),在Anaconda提示符下cd路径下找不到该文件

我应该将所有数据文件保存在安装了python库的同一路径中,还是有更好的方法仍然可以读取文件而不必将其保存在上面所示的cd路径中?

PS 是Jupyter笔记本和Python的新功能

import pandas as pd

df = pd.read_csv('abc.csv')
df.head()

FileNotFoundError Traceback(最近一次通话)  在       1#将abc数据加载到数据帧中 ----> 2 df = pd.read_csv('abc.csv')

2 个答案:

答案 0 :(得分:0)

通常,我建议在python库外部以最适合您的项目的目录结构编写脚本。原因很简单,因为您的python库已经添加到PYTHONPATH中,因此可以在任何地方使用,而您的项目文件仅可从项目文件夹中获得。

根据您的情况,您可以采用两种方法-

  • 提供文件位置作为您当前目录的相对路径。因此,df = pd.read_csv('..\..\..\Studyfolder\abc.csv')
  • 在读取文件之前通过添加以下语句将文件夹路径添加到系统路径中-
import sys
sys.path.append("C:\\Users\Studyfolder")

答案 1 :(得分:0)

如果您activate的anaconda环境,则jupyter环境应与该解释器绑定。在这种情况下,从何处启动并不重要,它始终可以访问在那里安装的库。例如:

conda activate py3

这现在将conda绑定到该环境:

import sys
sys.path
['C:\\Users\\Anaconda3_2\\envs\\py3'...]

因此,只要您通过合法路径,就可以在任何地方开始jupyter。完整路径可在任何地方使用:

# I'm at C:\Users\Anaconda3

df = pd.read_csv("C:\\Users\\Studyfolder\\abc.csv")

如果要使用相对路径,则非常取决于您从以下位置调用jupyter notebook的位置:

# Still at C:\\Users\\Anaconda3
df = pd.read_csv("..\\Studyfolder\\abc.csv")

..指示要返回目录的地方