Файл b'train.csv 'не существует, хотя файл существует

Код:

import pandas as pd
train_df = pd.read_csv("train.csv")

Ошибка:

FileNotFoundError                   Traceback (most recent call last)
    <ipython-input-17-05c7c432b69f> in <module>()
      1 import pandas as pd
      2 
    ----> 3 train_df = pd.read_csv("../input/train.csv")

    /anaconda3/lib/python3.6/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, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, escapechar, comment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, skipfooter, skip_footer, doublequote, delim_whitespace, as_recarray, compact_ints, use_unsigned, low_memory, buffer_lines, memory_map, float_precision)
    707                     skip_blank_lines=skip_blank_lines)
    708 
    --> 709         return _read(filepath_or_buffer, kwds)
    710 
    711     parser_f.__name__ = name

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

    /anaconda3/lib/python3.6/site-packages/pandas/io/parsers.py in __init__(self, f, engine, **kwds)
    816             self.options['has_index_names'] = kwds['has_index_names']
    817 
    --> 818         self._make_engine(self.engine)
    819 
    820     def close(self):

    /anaconda3/lib/python3.6/site-packages/pandas/io/parsers.py in _make_engine(self, engine)
    1047     def _make_engine(self, engine='c'):
    1048         if engine == 'c':
    -> 1049             self._engine = CParserWrapper(self.f, **self.options)
    1050         else:
    1051             if engine == 'python':

    /anaconda3/lib/python3.6/site-packages/pandas/io/parsers.py in __init__(self, src, **kwds)
    1693         kwds['allow_leading_cols'] = self.index_col is not False
    1694 
    -> 1695         self._reader = parsers.TextReader(src, **kwds)
    1696 
    1697         # XXX

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

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

FileNotFoundError: File b'../input/train.csv' does not exist

Пожалуйста помоги! Я попытался использовать pd.read_csv("../input/train.csv"), но ошибка все еще возникает. Я пользователь Mac и использую ноутбук Jupyter.

где твой train.csv отдай absolute path to it

Druta Ruslan 06.06.2018 15:46

Блокнот jupyter по умолчанию будет искать в собственной папке. Если ваш "train.csv" находится где-то еще, вы должны указать ему абсолютный путь

Biarys 06.06.2018 15:47
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
7
2
36 756
9
Перейти к ответу Данный вопрос помечен как решенный

Ответы 9

Возможные причины:

  1. Введен неверный путь или несколько папок с одинаковым именем.
  2. Имя файла неверно.
  3. Расширение файла не csv, возможно, xlsx (Редкий шанс)

Надеюсь это поможет.

Также есть знак "" "на строке импорта и строке под ней. Пожалуйста, проверьте, что также

Nisarg Bhatt 06.06.2018 15:51

Попробуйте указать абсолютный путь к файлу, а не относительный.

Ответ принят как подходящий
  1. Вы уверены, что выбрали правильный путь?

train_df = pd.read_csv("./input/train.csv") (если файл csv находится во входной папке, которая находится в той же папке, что и ваш блокнот jupyter)

Проще всего у вас есть папка, содержащая записную книжку juptyer и файл csv. Тогда вам просто нужно будет сделать:

train_df = pd.read_csv("./train.csv") или train_df = pd.read_csv("train.csv")

  1. Попробуйте использовать train_df = pd.read_csv("train.csv",encoding='utf-8' )

чтобы избавиться от 'b перед b' ../ input / train.csv '

Большое спасибо, Джулия. Это работает. Мне просто нужно поместить файл csv в ту же папку, что и ноутбук jupyter

Yun Jie Lim 07.06.2018 04:04

Рад слышать, что это помогло! :)

Julia 07.06.2018 11:34

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

  1. сохранить как fileName = test

  2. ниже название раздела выберите

    • CSV UTF-8 (с разделителями-запятыми) (*. Csv)

теперь используйте Jupyter

import pandas as pd
test = pd.read_csv("test.csv")

Попробуйте использовать такой абсолютный путь. Символ r в начале строки помогает читать всю строку как необработанную строку, как она есть, поэтому, когда используется r, вам не нужно беспокоиться об экранировании косой черты.

import pandas

myFile = pandas.read_csv(r"C:\Users\samarnat\Documents\Personal Docs\Projects\train.csv",encoding='utf-8')

если ваш текстовый или CSV-файл находится в той же папке, что и ваш блокнот jupyter, тогда вместо записи pd.read_csv ('test.csv') напишите как pd.read_csv ("test") bcz, если ваш CSV-файл явно показывает расширение .csv, тогда только Первый способ работы или второй способ. например, если имя вашего файла выглядит как "test", используйте pd.read_csv ('test') или иначе имя файла - "test.csv", тогда используйте pd.read_csv ('test.csv') Это зависит от сохраняемого имени файла.

Добро пожаловать в SO. Этот ответ трудно понять. Найдите время, чтобы использовать правильную пунктуацию и правильные предложения.

RajeshM 22.04.2020 17:20

Проверьте наличие пробелов пустые места в начале или конце строки файла.

Что такое «пустое место»? Если присутствует пробел, значит, он не «пустой». Если он пустой, значит, его нет в строке.

jalanb 25.04.2020 03:57

Вчера я столкнулся с точной проблемой, следующие пункты помогли мне решить проблему

  1. Никакая комбинация filePath у меня не работала.
  2. Я вручную добавил полный путь к файлу, и у меня это сработало.

Итак, теперь я добавил в свой код одну строку, и она работает все время, независимо от структуры папок. Предоставление абсолютного пути к файлу - это ключ.

csv_file_abs = os.path.abspath(csv_file)
print(f'ABS PATH: {csv_file_abs}')
df = pd.read_csv(csv_file_abs)

Надеюсь, это поможет, поделитесь, пожалуйста, своими мыслями, если эту проблему можно решить другими способами, это было быстро исправлено.

узнайте каталог, с которым вы работаете, используя! pwd. Затем загрузите набор данных в то же место. Затем скопируйте и вставьте путь к каталогу в команду pd.read_csv

    > df=pd.read_csv('/home/jovyan/demo/melb_data.csv')

то, что вам не хватает в адресе, вероятно, является термином Джовьян

Другие вопросы по теме