Файл pandas.read_csv не найден, несмотря на правильный путь с сырым текстом

Я пытаюсь загрузить .csv файл, используя pd.read_csv() когда я получаю ошибку, несмотря на правильность пути к файлу и использование необработанных строк.

import pandas as pd
df = pd.read_csv('‪C:\\Users\\user\\Desktop\\datafile.csv')
df = pd.read_csv(r'‪C:\Users\user\Desktop\datafile.csv')
df = pd.read_csv('C:/Users/user/Desktop/datafile.csv')

все дает ошибку ниже:

FileNotFoundError: Файл b '\ xe2\x80\xaaC: /Users/user/Desktop/tutorial.csv' (или соответствующий путь) не существует.

Только когда я копирую файл в рабочий каталог, он будет загружен правильно.

Кто-нибудь знает, что может вызвать ошибку?

Я ранее загружал другие наборы данных с полными файловыми путями без каких-либо проблем, и в настоящее время я только сталкиваюсь с проблемами, так как я заново установил свой python (через установщик пакетов Anaconda).


Изменить:
Я нашел проблему, которая вызывала проблему.
Когда я копировал путь к файлу из окна свойств файла, я невольно копировал другой символ, который кажется невидимым.
Присвоение этой скопированной string также дает ошибку unicode.

Удаление этого невидимого персонажа сделало любой из вышеперечисленных кодов.

Ответы

Ответ 1

Для моей конкретной проблемы, неправильная загрузка файла была вызвана "невидимым" символом, который появился, когда я скопировал путь к файлу на вкладке "Безопасность" свойств файла в Windows.

Этим символом является e2 80 aa, кодировка UTF-8 U + 202A, символ вложения слева направо. Его можно легко удалить, удалив (нажав клавишу backspace или delete), когда вы нашли символ (крайний левый символ в строке).

Примечание: я решил ответить, потому что ответы здесь не отвечают на мой вопрос, и я считаю, что несколько человек (как видно в комментариях) могут столкнуться с той же ситуацией, что и я. Время от времени, похоже, появляются новые ответы, поскольку я не помечал этот вопрос как решенный.

Ответ 2

Попробуйте это и посмотрите, работает ли это. Это не зависит от указанного вами пути.

pd.read_csv(r'C:\Users\aiLab\Desktop\example.csv')

Здесь r является специальным символом и означает необработанную строку. Поэтому добавьте префикс к вашему строковому литералу.

https://www.journaldev.com/23598/python-raw-string:

Необработанная строка Python создается префиксом строкового литерала с помощью ‘r или ‘R. Необработанная строка Python обрабатывает обратную косую черту() как буквальный символ. Это полезно, когда нам нужна строка с обратной косой чертой и не хочу, чтобы это воспринималось как побег.

Ответ 3

$ 10 говорит, что ваш путь к файлу верен относительно местоположения файла.py, но неверен в отношении местоположения, из которого вы вызываете python

Например, скажем, script.py находится в ~/script/, а файл.csv находится в ~/. Скажем, script.py содержит

import pandas
df = pandas.read_csv('../file.csv') # correct path from ~/script/ where script.py resides

Если из ~/вы запустите python script/script.py, вы получите ошибку FileNotFound. Однако, если из ~/script/вы запустите python script.py, он будет работать.

Ответ 4

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

Я переименовал файл вручную из adfa123 в abc.csv. Расширение файла было скрыто, после переименования, фактическое имя файла стало abc.csv.csv. Затем я удалил дополнительный .csv от имени, и все было в порядке.

Надеюсь, это может помочь кому угодно.

Ответ 5

import pandas as pd

path1 = 'C:\\Users\\Dell\\Desktop\\Data\\Train_SU63ISt.csv'
path2 = 'C:\\Users\\Dell\\Desktop\\Data\\Test_0qrQsBZ.csv'

df1 = pd.read_csv(path1)
df2 = pd.read_csv(path2)

print(df1)
print(df2)

Ответ 6

Если вы используете Windows Machine. Попробуйте проверить расширение файла. Существует высокая вероятность того, что файл будет сохранен как fileName.csv.txt вместо fileName.csv. Вы можете проверить это, установив флажок Расширение имени файла в опциях папки (пожалуйста, найдите скриншот)

код ниже работал для меня:

import pandas as pd
df = pd.read_csv(r"C:\Users\vj_sr\Desktop\VJS\PyLearn\DataFiles\weather_data.csv");

Если fileName.csv.txt, переименуйте/исправьте его в fileName.csv

скриншот Windows 10

Надеюсь, что это работает, удачи

Ответ 7

В системах Windows вы должны попробовать использовать os.path.normcase.

Это нормализует регистр имени пути. В Unix и Mac OS X это возвращает путь без изменений; в нечувствительных к регистру файловых системах он преобразует путь в нижний регистр. В Windows он также преобразует прямые косые черты в обратные. Поднимите TypeError, если тип пути не является str или байтами (прямо или косвенно через интерфейс os.PathLike).

import os
import pandas as pd

script_dir = os.getcwd()
file = 'example_file.csv'
data = pd.read_csv(os.path.normcase(os.path.join(script_dir, file)))

Ответ 8

Попробуйте использовать os.path.join для создания os.path.join к os.path.join:

import os
f_path = os.path.join(*['C:', 'Users', 'user', 'Desktop', 'datafile.csv'])
df = pd.read_csv(f_path)

Ответ 9

Я пытался прочитать файл csv из папки, которая находилась на моем диске c: \, но при этом возникает ошибка escape,type error, unicode... как таковая, но этот код работает только с переменной затем добавьте r, чтобы прочитать его.

rank = pd.read_csv (r'C:\Users\DELL\Desktop\datasets\iris.csv') 
df=pd.DataFrame(rank)

Ответ 10

Есть еще одна проблема, как удалить символы, которые кажутся невидимыми.

Мое решение копирует путь к файлу из окон файла вместо окон свойств.

Это не проблема, за исключением того, что вы должны выполнить путь к файлу.

Ответ 11

Пережил ту же проблему. Путь был верным. Изменение имени файла, кажется, решает проблему.

Старое имя файла: Сезон 2017/2018 Premier League.csv Новое имя файла: test.csv

Возможно, пробелы или "/"

Ответ 12

Вместо pd.read_csv('yourDirectory\yourData.csv') использовать pd.read_csv('yourDirectory//yourData.csv')

Ответ 13

У меня была такая же проблема при запуске файла с интерактивной функциональностью Visual Studio. Перешел на запуск на родной командной строке, и у меня это сработало.