IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

File not found Error


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Août 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Août 2022
    Messages : 3
    Par défaut File not found Error
    Bonjour à tous,

    Je suis débutant et je bloque après 2 lignes de code pour lire mon fichier dans JUPYTER NOTEOOK

    Au début mon était au format .XLS . Comme je n'arrivais pas à juste le visualiser dans l'explorateur jupyter et que j'ai vu qu'il y avait un probleme de format UTF8, je l'ai enregistré au format CSV. cependant j'ai toujours le message d'erreur fichier non trouvé avec le détail ci-dessous. qq aurait-il une idée?.

    Merci

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import numpy as np
    import matplotlib.pyplot as plt
    import pandas as pd
     
    df = pd.read_csv ('titanic4.csv')


    --------------------------------------------------------------------------
    FileNotFoundError                         Traceback (most recent call last)
    Input In [28], in <cell line: 1>()
    ----> 1 df = pd.read_csv ('titanic4.csv')
          3 print(df)
    
    File ~\anaconda3\lib\site-packages\pandas\util\_decorators.py:311, in deprecate_nonkeyword_arguments.<locals>.decorate.<locals>.wrapper(*args, **kwargs)
        305 if len(args) > num_allow_args:
        306     warnings.warn(
        307         msg.format(arguments=arguments),
        308         FutureWarning,
        309         stacklevel=stacklevel,
        310     )
    --> 311 return func(*args, **kwargs)
    
    File ~\anaconda3\lib\site-packages\pandas\io\parsers\readers.py:680, in read_csv(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, encoding_errors, dialect, error_bad_lines, warn_bad_lines, on_bad_lines, delim_whitespace, low_memory, memory_map, float_precision, storage_options)
        665 kwds_defaults = _refine_defaults_read(
        666     dialect,
        667     delimiter,
       (...)
        676     defaults={"delimiter": ","},
        677 )
        678 kwds.update(kwds_defaults)
    --> 680 return _read(filepath_or_buffer, kwds)
    
    File ~\anaconda3\lib\site-packages\pandas\io\parsers\readers.py:575, in _read(filepath_or_buffer, kwds)
        572 _validate_names(kwds.get("names", None))
        574 # Create the parser.
    --> 575 parser = TextFileReader(filepath_or_buffer, **kwds)
        577 if chunksize or iterator:
        578     return parser
    
    File ~\anaconda3\lib\site-packages\pandas\io\parsers\readers.py:933, in TextFileReader.__init__(self, f, engine, **kwds)
        930     self.options["has_index_names"] = kwds["has_index_names"]
        932 self.handles: IOHandles | None = None
    --> 933 self._engine = self._make_engine(f, self.engine)
    
    File ~\anaconda3\lib\site-packages\pandas\io\parsers\readers.py:1217, in TextFileReader._make_engine(self, f, engine)
       1213     mode = "rb"
       1214 # error: No overload variant of "get_handle" matches argument types
       1215 # "Union[str, PathLike[str], ReadCsvBuffer[bytes], ReadCsvBuffer[str]]"
       1216 # , "str", "bool", "Any", "Any", "Any", "Any", "Any"
    -> 1217 self.handles = get_handle(  # type: ignore[call-overload]
       1218     f,
       1219     mode,
       1220     encoding=self.options.get("encoding", None),
       1221     compression=self.options.get("compression", None),
       1222     memory_map=self.options.get("memory_map", False),
       1223     is_text=is_text,
       1224     errors=self.options.get("encoding_errors", "strict"),
       1225     storage_options=self.options.get("storage_options", None),
       1226 )
       1227 assert self.handles is not None
       1228 f = self.handles.handle
    
    File ~\anaconda3\lib\site-packages\pandas\io\common.py:789, in get_handle(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options)
        784 elif isinstance(handle, str):
        785     # Check whether the filename is to be opened in binary mode.
        786     # Binary mode does not support 'encoding' and 'newline'.
        787     if ioargs.encoding and "b" not in ioargs.mode:
        788         # Encoding
    --> 789         handle = open(
        790             handle,
        791             ioargs.mode,
        792             encoding=ioargs.encoding,
        793             errors=errors,
        794             newline="",
        795         )
        796     else:
        797         # Binary mode
        798         handle = open(handle, ioargs.mode)
    
    FileNotFoundError: [Errno 2] No such file or directory: 'titanic4.csv'

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 823
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par gustave22 Voir le message
    cependant j'ai toujours le message d'erreur fichier non trouvé avec le détail ci-dessous. qq aurait-il une idée?.
    Oui, c'est assez simple en fait : ton script Python ne trouve pas le fichier.

    Python (et par extension les programmes en général) ne cherchent pas un fichier (surtout nommé en relatif) par rapport à l'emplacement du programme invoqué (sinon cela restreindrait assez drastiquement l'avantage du nommage en relatif) mais par rapport à l'emplacement de celui qui appelle le programme.
    Si par exemple je me trouve dans "/var" et que j'appelle un script qui, lui, se trouve dans "/tmp", et que ce script, (qui est interprété par "/usr/bin/python3") tente d'ouvrir le fichier "xxx/fic", alors ce ne sera ni /tmp/xxx/fic, ni /usr/bin/xxx/fic mais /var/xxx/fic (le nom part de mon emplacement) . C'est un petit peu le B+A=BA de l'utilisateur Unix/Linux qui travaille assez généralement en mode lignes de commandes (sous zindow cette notion existe mais elle est masquée par le fait qu'on manipule tout à la souris).

    En plus toi tu passes par un intermédiaire supplémentaire "anaconda" donc m'est avis que c'est anaconda qui invoque Python donc le fichier doit être cherché dans le dossier de travail d'anaconda.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre émérite Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 601
    Par défaut
    Bonjour
    Comme le dit très justement Sve@r, "ton script ne trouve pas le fichier" ... "titanic4.csv".
    De la façon dont tu as écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df = pd.read_csv ('titanic4.csv')
    le fichier "titanic4.csv" doit simplement se trouver dans le même répertoire et au même niveau que ton script / ton notebook Jupyter (fichier du type *.ipynb)
    En revanche, si dans le répertoire où se trouve le script python en *.ipynb tu crées un répertoire "data" dans lequel tu déposes tes fichiers de données, typiquement titanic4.csv, alors tu devras écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df = pd.read_csv ('data/titanic4.csv')

  4. #4
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 321
    Par défaut
    bonjour
    Citation Envoyé par ypcman Voir le message
    le fichier "titanic4.csv" doit simplement se trouver dans le même répertoire et au même niveau que ton script
    justement non (comme bien stipulé par Sve@r)
    Si on ne donne pas de chemin absolu, alors python cherche uniquement depuis le répertoire courant. Et parfois, oui, c'est le même que celui du fichier python...

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 823
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par papajoker Voir le message
    python cherche uniquement depuis le répertoire courant
    Une façon de le connaitre est d'afficher os.getcwd()...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Membre émérite Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 601
    Par défaut
    Vous avez sûrement raison. C'est juste que sur mon ordi (Fedora), j'utilise Anaconda et les notebook Jupyter et je n'ai jamais eu ce problème en utilisant "./mon_fich.csv" ou directement "mon_fich.csv' , le script *.ipynb et le fichier csv étant dans le même répertoire ...
    Nom : test.jpg
Affichages : 558
Taille : 26,6 Ko

    Si le pb est le répertoire de travail, la solution doit être du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import os
    os.chdir(/path/to/your/directory/)

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Août 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Août 2022
    Messages : 3
    Par défaut
    Merci beaucoup ! effectivement je me disais bien qu'il y avait un truc qui cloche mais quand j'avais essayé de mettre tout le chemin ça ne marchait pas non plus (c://document/.....). du coup je crée mon new .ipyk directement dans le dossier de mes data. Encore merci

    Citation Envoyé par Sve@r Voir le message
    Bonjour

    Oui, c'est assez simple en fait : ton script Python ne trouve pas le fichier.

    Python (et par extension les programmes en général) ne cherchent pas un fichier (surtout nommé en relatif) par rapport à l'emplacement du programme invoqué (sinon cela restreindrait assez drastiquement l'avantage du nommage en relatif) mais par rapport à l'emplacement de celui qui appelle le programme.
    Si par exemple je me trouve dans "/var" et que j'appelle un script qui, lui, se trouve dans "/tmp", et que ce script, (qui est interprété par "/usr/bin/python3") tente d'ouvrir le fichier "xxx/fic", alors ce ne sera ni /tmp/xxx/fic, ni /usr/bin/xxx/fic mais /var/xxx/fic (le nom part de mon emplacement) . C'est un petit peu le B+A=BA de l'utilisateur Unix/Linux qui travaille assez généralement en mode lignes de commandes (sous zindow cette notion existe mais elle est masquée par le fait qu'on manipule tout à la souris).

    En plus toi tu passes par un intermédiaire supplémentaire "anaconda" donc m'est avis que c'est anaconda qui invoque Python donc le fichier doit être cherché dans le dossier de travail d'anaconda.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Août 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Août 2022
    Messages : 3
    Par défaut top. merci beaucoup.
    Citation Envoyé par ypcman Voir le message
    Bonjour
    Comme le dit très justement Sve@r, "ton script ne trouve pas le fichier" ... "titanic4.csv".
    De la façon dont tu as écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df = pd.read_csv ('titanic4.csv')
    le fichier "titanic4.csv" doit simplement se trouver dans le même répertoire et au même niveau que ton script / ton notebook Jupyter (fichier du type *.ipynb)
    En revanche, si dans le répertoire où se trouve le script python en *.ipynb tu crées un répertoire "data" dans lequel tu déposes tes fichiers de données, typiquement titanic4.csv, alors tu devras écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df = pd.read_csv ('data/titanic4.csv')

  9. #9
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 823
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par gustave22 Voir le message
    mais quand j'avais essayé de mettre tout le chemin ça ne marchait pas non plus (c://document/.....).
    Tu as os.path ou pathlib.Path qui te permettent de créer des chemins portables.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Turbo Pascal] Error 15: File not found (SYSTEM.TPU)
    Par cheidly dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 21/08/2011, 21h57
  2. REDHAT EL 5.2 error 15: File not found (veut pas demarrer)
    Par scofield dans le forum Administration système
    Réponses: 12
    Dernier message: 02/08/2010, 15h33
  3. Erreur avec skin: [error] File not found 'vclskin.res'
    Par Siguillaume dans le forum Langage
    Réponses: 9
    Dernier message: 28/08/2008, 17h20
  4. error file not found: unit1.dfm
    Par bouzaidi dans le forum Delphi
    Réponses: 4
    Dernier message: 12/04/2007, 10h36
  5. [Error] File not found: 'Unit1.DFM'
    Par aliwassem dans le forum Delphi
    Réponses: 1
    Dernier message: 08/04/2007, 07h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo