Pandas, Файл не найден, ошибка, но файл существует в каталоге - PullRequest
0 голосов
/ 04 августа 2020

Открытый код VS через Anaconda3 и при попытке прочитать csv с использованием pandas

df = pd.read_csv('file.csv') 

Мой file.csv существует в том же каталоге, что и мой panda.py файл, но я получаю

FileNotFoundError: [Errno 2] File b'file.csv' does not exist: b'file.csv'

Я физически вижу файл в том же каталоге, но мой терминал говорит, что это не так. Почему это происходит и как это исправить?

Ответы [ 3 ]

0 голосов
/ 04 августа 2020

Все еще не уверен, почему мой код, о котором идет речь, не работал, но в итоге он заработал.

df = pd.read_csv (r 'C: \ Users \ First Last \ Documents \ StatPython \ file .csv ')

Мне нужен был не только полный путь, но и буква «r» перед ним.

0 голосов
/ 04 августа 2020

$ {cwd} - текущий рабочий каталог исполнителя задач при запуске.

Значение по умолчанию для 'cwd' - "$ {workspaceFolder}". В VSCode относительный путь зависит от параметра настройки cwd, если вы не используете абсолютный путь. Ему не важен относительный путь к вашему файлу python, он просто заботится об относительном пути к 'cwd'.

Таким образом, у вас есть два решения этой проблемы:

Первое :

Используйте абсолютный путь, как вы пытались и работали:

df = pd.read_csv (r 'C: \ Users \ First Last \ Documents \ StatPython \ file.csv' )

или

df = pd.read_csv ('C: \ Users \ irst Last \ Documents \ StatPython \ file.csv')

Второй:

Выберите путь относительно значения по умолчанию $ {cwd}:

df = pd.read_csv ('[путь cwd] [некоторые пути] \ file.csv')

В этом случае кажется, что вы не создали проект «Stat Python». Если это имя вашего проекта и он открыт с помощью VSCode, ваш код должен работать.

0 голосов
/ 04 августа 2020

это потому, что вы используете DataFrame для чтения csv-файла, а модуль DataFrame не может этого сделать. Вместо этого вы можете попробовать использовать pandas, чтобы выполнить ту же операцию, импортировав его с помощью import pandas as pd, а для чтения файла используйте pd.read_csv('filename.csv')

...