Ответ 1
Вы используете относительный путь, что означает, что программа ищет файл в рабочем каталоге. Ошибка говорит вам, что в рабочем каталоге нет файла этого имени.
Попробуйте использовать точный или абсолютный путь.
Я пытаюсь открыть файл CSV, но по какой-то причине python не может его найти.
Вот мой код (это просто простой код, но я не могу решить проблему):
import csv
with open('address.csv','r') as f:
reader = csv.reader(f)
for row in reader:
print row
Вы используете относительный путь, что означает, что программа ищет файл в рабочем каталоге. Ошибка говорит вам, что в рабочем каталоге нет файла этого имени.
Попробуйте использовать точный или абсолютный путь.
Когда вы открываете файл с именем address.csv
, вы сообщаете функции open()
, что ваш файл находится в текущем рабочем каталоге. Это называется относительным путем.
Чтобы дать вам представление о том, что это значит, добавьте это в свой код:
import os
cwd = os.getcwd() # Get the current working directory (cwd)
files = os.listdir(cwd) # Get all the files in that directory
print("Files in '%s': %s" % (cwd, files))
Это будет печатать текущий рабочий каталог вместе со всеми файлами в нем.
Другой способ сообщить функции open()
, где находится ваш файл, - это использовать абсолютный путь, например:
f = open("/Users/foo/address.csv")
Используйте точный путь.
import csv
with open('C:\path\address.csv','r') as f:
reader = csv.reader(f)
for row in reader:
print row
Предположим, что у нас есть script в "c:\script.py", которые содержат:
result = open("index.html","r")
print(result.read())
Давайте скажем, что файл index.html также находится в том же каталоге "c:\index.html" когда я выполняю script из cmd (или оболочки)
C:\Users\Amine>python c:\script.py
Вы получите сообщение об ошибке:
FileNotFoundError: [Errno 2] No such file or directory: 'index.html'
И это потому, что "index.html" не находится в рабочем каталоге, который является "C:\Users\Amine > ". поэтому, чтобы заставить его работать, вы должны изменить рабочий каталог
C:\python script.py
'<html><head></head><body></body></html>'
Вот почему предпочтительнее использовать абсолютный путь.
попробуйте удалить ".csv" из имени файла или добавить дополнительный файл в открытая функция. работал на меня.