FileNotFoundError: [Errno 2] Файл C: - PullRequest
1 голос
/ 28 мая 2020

Итак, я пытаюсь импортировать файл csv с python по pandas. Код

import pandas as pd

df = pd.read_csv(r"C:\Users\B1880\Downloads\avocado-prices.zip\avocado.csv")

, хотя я все время получаю сообщение об ошибке:

---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-106-03cc5a9f89de> in <module>
      1 import pandas as pd
      2 
----> 3 df = pd.read_csv(r"C:\Users\B1880\Downloads\avocado-prices.zip\avocado.csv")
      4 d

~\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 C:\Users\B1880\Downloads\avocado-prices.zip\avocado.csv does not exist: 'C:\\Users\\B1880\\Downloads\\avocado-prices.zip\\avocado.csv'

Я не понимаю, как он не находит файл, когда я знаю, что у меня есть правильный путь к файлу. Я перешел к строке поиска в правом нижнем углу windows, затем нашел файл и скопировал полный путь. Я пробовал с r перед файлом и без него. Пробовал двойной бэксла sh и одинарный. Как он может не найти файл, если это его путь?

1 Ответ

1 голос
/ 28 мая 2020

попробуйте использовать модуль zipfile, упомянутый здесь -> Чтение zip-файлов csv в python

Должно получиться что-то вроде этого:

import pandas as pd
import zipfile

zf = zipfile.ZipFile('C:\Users\B1880\Downloads\avocado-prices.zip') 
df = pd.read_csv(zf.open('avocado.csv'))
...