While I'm loading data in JupyterLab I,m getting an Error: "FileNotFoundError [Errno 2] does not exist

While I'm loading data in JupyterLab I,m getting an Error: "FileNotFoundError [Errno 2] does not exist

我刚刚遇到错误,我从来没有代码如下:

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, engine, **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,请使用:

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')

此外,请记住对 Windows-style 路径使用 r'path\to\file'(原始 python 字符串),因为 '\' 是用于换行和制表符等特殊字符,在解析为 non-raw 字符串时可能会被误解。

尝试这样做,同时假设您的 CSV 文件的名称是 W1:

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