Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在jupyter中读取带有相对路径的csv_Python_Jupyter Notebook - Fatal编程技术网

Python 在jupyter中读取带有相对路径的csv

Python 在jupyter中读取带有相对路径的csv,python,jupyter-notebook,Python,Jupyter Notebook,我会尽量简单。我不擅长这些事情 在我的计算机上,在“C:\Users\Oria”位置有一个名为Project的文件夹。该文件夹包含code.ipynb和一个名为data的文件夹。在文件夹数据中,只有一个名为iris_features.csv的文件 我把code.ipynb上传到jupyter笔记本,上面有一行内容(被锁定为更改,无法更改) irisCsvFileName = 'data' + os.sep + 'iris_fearures.csv' df_iris_features = pd.r

我会尽量简单。我不擅长这些事情

在我的计算机上,在“C:\Users\Oria”位置有一个名为Project的文件夹。该文件夹包含code.ipynb和一个名为data的文件夹。在文件夹数据中,只有一个名为iris_features.csv的文件

我把code.ipynb上传到jupyter笔记本,上面有一行内容(被锁定为更改,无法更改)

irisCsvFileName = 'data' + os.sep + 'iris_fearures.csv'
df_iris_features = pd.read_csv(irisCsvFileName)
因此,据我所知,它应该理解工作目录是“C:\Users\Oria\Project”,并且所有路径都是相对于它的

但是,它不起作用。它给出了错误

FileNotFoundError: [Errno 2] File data\iris_fearures.csv does not exist: 'data\\iris_fearures.csv'
当我给出iris_features.csv的完整路径时,它运行良好。但是,正如我所说的,我不能更改给定的代码


我做错了什么?我是否应该将ipynb文件上传到jupyter notebook?

如果没有从文件夹
C:\Users\Oria\Project
打开jupyter notebook,则必须提供完整路径,如果您只是从同一文件夹
项目
中打开
.ipynb
,则路径将不会与该
.ipynb
相关,而是与启动jupyter的文件夹相关

您可以检查当前工作目录(如果不是完整路径,则所有其他路径都与之相关):


您在问题中提供的代码中有一个输入错误:

irisCsvFileName = 'data' + os.sep + 'iris_fearures.csv'
df_iris_features = pd.read_csv(irisCsvFileName)
您已经编写了
iris\u fearures.csv
,但后来说该文件名为
iris\u features
。您可以使用以下方法检查当前工作目录是否符合预期:

import os
cwd = os.getcwd()

您可以在

中找到有关使用文件路径等的更多信息。这是问题中的一个输入错误,名称实际上没有问题。@OriaGruber您确定吗,因为您提供的错误消息中也有这样的信息。作业的作者似乎很草率,但前后一致,这都是担心,而不是功能。不管怎样,我使用操作系统cwd技巧实现了它。谢谢@很高兴你解决了你的问题<代码>导入全局,操作系统;cwd=os.getcwd();打印(glob.glob(cwd+os.sep+'*')也可以方便地打印当前工作目录中的所有文件,特别是如果您需要执行所有
.csv
s等操作,那么您可以保存列表并遍历该列表,而不必担心拼写/打字错误。
import os
cwd = os.getcwd()