我在JupyterLab中加载数据时,出现错误:“ FileNotFoundError [Errno 2]不存在

问题描述

我只是碰碰到了一个错误,我从未拥有以下代码:

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
data=pd.read_csv('Users\ergar\Desktop\ML-mini_bootcamp\W1')

我确认了几次,这是正确的。错误消息如下

---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-52-f31adf5ab280> in <module>
----> 1 data=pd.read_csv('Users\ergar\Desktop\ML-mini_bootcamp\W1')

~\anaconda3\lib\site-packages\pandas\io\parsers.py in parser_f(filepath_or_buffer,sep,delimiter,header,names,index_col,usecols,squeeze,prefix,mangle_dupe_cols,dtype,engine,converters,true_values,false_values,skipinitialspace,skiprows,skipfooter,nrows,na_values,keep_default_na,na_filter,verbose,skip_blank_lines,parse_dates,infer_datetime_format,keep_date_col,date_parser,dayfirst,cache_dates,iterator,chunksize,compression,thousands,decimal,lineterminator,quotechar,quoting,doublequote,escapechar,comment,encoding,dialect,error_bad_lines,warn_bad_lines,delim_whitespace,low_memory,memory_map,float_precision)
    674         )
    675 
--> 676         return _read(filepath_or_buffer,kwds)
    677 
    678     parser_f.__name__ = name

~\anaconda3\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer,kwds)
    446 
    447     # Create the parser.
--> 448     parser = TextFileReader(fp_or_buf,**kwds)
    449 
    450     if chunksize or iterator:

~\anaconda3\lib\site-packages\pandas\io\parsers.py in __init__(self,f,**kwds)
    878             self.options["has_index_names"] = kwds["has_index_names"]
    879 
--> 880         self._make_engine(self.engine)
    881 
    882     def close(self):

~\anaconda3\lib\site-packages\pandas\io\parsers.py in _make_engine(self,engine)
   1112     def _make_engine(self,engine="c"):
   1113         if engine == "c":
-> 1114             self._engine = CParserWrapper(self.f,**self.options)
   1115         else:
   1116             if engine == "python":

~\anaconda3\lib\site-packages\pandas\io\parsers.py in __init__(self,src,**kwds)
   1889         kwds["usecols"] = self.usecols
   1890 
-> 1891         self._reader = parsers.TextReader(src,**kwds)
   1892         self.unnamed_cols = self._reader.unnamed_cols
   1893 

pandas\_libs\parsers.pyx in pandas._libs.parsers.TextReader.__cinit__()

pandas\_libs\parsers.pyx in pandas._libs.parsers.TextReader._setup_parser_source()

FileNotFoundError: [Errno 2] File Users\ergar\Desktop\ML-mini_bootcamp\W1 does not exist: 'Users\\ergar\\Desktop\\ML-mini_bootcamp\\W1'

为什么会这样?我该如何解决?预先感谢您抽出宝贵时间来澄清此问题。

解决方法

请尝试执行此操作,同时还要假设您的CSV文件的名称为W1

data = pd.read_csv(r'C:\Users\ergar\Desktop\ML-mini_bootcamp\W1')
,

您必须提及文件扩展名,例如,如果您的文件是.csv,请使用:

data=pd.read_csv('Users\ergar\Desktop\ML-mini_bootcamp\W1.csv')
,

问题是您给Py解释器提供了相对路径。 相对路径是不是从文件系统根目录开始的路径-顾名思义,它们是相对于调用程序的位置(在本例中为笔记本)的位置进行解析的。

有两种方法可以解决此问题。

一种选择是使用绝对路径-对于Windows,从C:\或另一个合适的驱动器号开始-在您的情况下,将是

'C:\Users\ergar\Desktop\ML-mini_bootcamp\W1.csv'

选项二是将文件与笔记本放在同一文件夹中,然后使用相对路径: pd.read_csv('W1.csv')

请注意,您可以创建子文件夹并以这种方式组织文件-例如,您可以创建数据集子文件夹,然后使用pd.read_csv(r'datasets\W1.csv')

另外,请记住将 r'path \ to \ file'(原始python字符串)用于Windows样式的路径,因为'\'是用于特殊字符的字符,例如新行和制表符,解析为非原始字符串时可能会被误解。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...