Файл 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. Перешел на запуск на родной командной строке, и у меня это сработало.