J'essaie d'ouvrir un fichier CSV mais, pour une raison quelconque, python ne peut pas le localiser.
Voici mon code (c'est juste un code simple mais je ne peux pas résoudre le problème):
import csv
with open('address.csv','r') as f:
reader = csv.reader(f)
for row in reader:
print row
Lorsque vous ouvrez un fichier portant le nom address.csv
, vous indiquez à la fonction open()
que votre fichier se trouve dans le répertoire de travail en cours. Ceci s'appelle un chemin relatif.
Pour vous donner une idée de ce que cela signifie, ajoutez ceci à votre code:
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))
Cela imprimera le répertoire de travail actuel avec tous les fichiers qu'il contient.
Une autre façon de dire à la fonction open()
où se trouve votre fichier consiste à utiliser un chemin absolu, par exemple:
f = open("/Users/foo/address.csv")
Vous utilisez un chemin relatif, ce qui signifie que le programme recherche le fichier dans le répertoire de travail. L'erreur vous indique qu'il n'y a pas de fichier de ce nom dans le répertoire de travail.
Essayez d'utiliser le chemin exact ou absolu.
Pour les personnes qui obtiennent toujours une erreur malgré le chemin absolu, vérifiez que le fichier porte un nom valide. Pour moi, j'essayais de créer un fichier avec '/' dans le nom du fichier. Dès que j'ai supprimé '/', j'ai pu créer le fichier.
essayez de supprimer le fichier .csv du nom du fichier ou ajoutez-en un dans la fonction. a travaillé pour moi.
Utilisez le chemin exact.
import csv
with open('C:\path\address.csv','r') as f:
reader = csv.reader(f)
for row in reader:
print row
Disons que nous avons un script dans "c:\script.py" qui contient:
result = open("index.html","r")
print(result.read())
Disons que le fichier index.html se trouve également dans le même répertoire "c:\index.html" Lorsque j'exécute le script depuis cmd (ou Shell)
C:\Users\Amine>python c:\script.py
Vous obtiendrez une erreur:
FileNotFoundError: [Errno 2] No such file or directory: 'index.html'
Et cela parce que "index.html" ne se trouve pas dans le répertoire de travail qui est "C:\Users\Amine>". donc pour le faire fonctionner, vous devez changer le répertoire de travail
C:\python script.py
'<html><head></head><body></body></html>'
C'est pourquoi il est préférable d'utiliser un chemin absolu.
with open(fpath, 'rb') as myfile:
fstr = myfile.read()
Je rencontre cette erreur parce que le fichier est vide . Cette réponse peut ne pas être une réponse correcte pour cette question mais devrait donner aux développeurs un indice comme moi.