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 :

problème chargement .txt avec numpy


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2018
    Messages : 18
    Points : 18
    Points
    18
    Par défaut problème chargement .txt avec numpy
    Bonjour,

    Je viens ici car je rencontre un problème d'encodage utf-8.
    Je cherche a utiliser la fonction loadtxt du module numpy afin de charger un fichier .txt de mon ordi. Pour certain fichier cela fonctionne, alors que pour d'autre voici le message présenté :
    ''utf-8' codec can't decode byte 0xe9 in position 13: invalid continuation byte''

    Je me permet de vous joindre le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    import numpy as np
    import glob
     
    path = '/home/hell-bananaz/Documents/L2SPI/S4/projet/mesures/12_03_2018/data/Ouie_Bouchee_Masse_4/'
    name = 'FRF_ModPhase.txt'
    lst = []
     
    '''
    for folder in glob.glob(path+'*'):
        for file in glob.glob(folder+'/*'):
            if file[len(folder)+1:len(folder)+1+len(name)]==name:
                lst.append(file)
    print(lst[1])
    test = np.loadtxt(lst[1],skiprows=1)
    '''
     
    test = np.loadtxt('/home/hell-bananaz/Documents/L2SPI/S4/projet/mesures/12_02_2018/mesures_cubes/3_cubes/FRF_ModPhase.txt')
    Le fichier devant être charger est un .txt contenant des mesures d'accélération, donc entièrement des floats sauf pour la premier ligne contenant des strings (un skiprows ne change pas mon probleme malheureussement ... )

    J'espère que vous pourrez m'aider,
    bien cordialement, elliot

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 428
    Points : 37 010
    Points
    37 010
    Par défaut
    Citation Envoyé par hell-bananaz Voir le message
    Le fichier devant être charger est un .txt contenant des mesures d'accélération, donc entièrement des floats sauf pour la premier ligne contenant des strings (un skiprows ne change pas mon probleme malheureussement ... )
    Le message d'erreur vous dit juste que le fichier n'est pas "codé" utf-8.
    Et pour préciser çà à "loadtxt", le plus simple(*) est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    f = open(..., 'r', encoding=...)
    ar = np.loadtxt(f, skiprows=1)
    où vous avez a remplacer les ... par nom de fichier et encoding.

    (*) loadtxt ne supporte plus l'option encoding dans les dernières versions.

    - W

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2018
    Messages : 18
    Points : 18
    Points
    18
    Par défaut
    Bonjour et merci pour ton aide wiztricks,

    Après quelque essais il s'avère que le problème vient de la première ligne de mes fichiers txt qui contient les titre des colonnes. Cette première ligne ne m’intéresse pas, je comptais faire un skiprows ou un slicing pour m'en débarasser, mais impossible de charger le fichier txt avec cette première ligne, toujours ce problème d'encodage utf-8 ...
    J'ai essayer de passer par la fonction open, mais je n'arrive pas a supprimer la première ligne de quelque manière qu'il soit. Dès que je tente d'accéder au données du fichier txt, la console python me renvois une erreur d'encodage.

    Je m'y prend sans doute mal, mais auriez vous une méthode pour supprimer la première ligne de mes fichier txt afin de pouvoir les charger dans des des vecteurs et pouvoir les traiter?
    Je vous joint un exemple de fichier txt que je souhaite traiter, peut-être que mes propos seront plus claire avec cela : FRF_ModPhase.txt .
    bien cordialement, elliot

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 428
    Points : 37 010
    Points
    37 010
    Par défaut
    Salut,

    Je ne comprends pas le problème que vous rencontrez.
    Maintenant, si vous voulez sauter la première ligne et en supposant que le reste du fichier soit "propre", vous pourriez essayer de l'ouvrir en mode binaire et aller à la fin de la première ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    f = open(..., 'rb')
    f.readline()
    ar = np.loadtxt(f)
    - W

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2018
    Messages : 18
    Points : 18
    Points
    18
    Par défaut
    A vrai dire je ne le comprend pas moi même, le problème d'encodage semble venir des accents situé dans les commentaires du .txt, or l'utf-8 est sensé prendre en charge ces commentaires non? :/
    Enfin bref, une solution temporaire va consister a réaliser des mesures en prenant soint de ne pas mettre d'accent dans les titres ou les commentaire.

    Bien cordialement, elliot

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 428
    Points : 37 010
    Points
    37 010
    Par défaut
    Citation Envoyé par hell-bananaz Voir le message
    A vrai dire je ne le comprend pas moi même, le problème d'encodage semble venir des accents situé dans les commentaires du .txt, or l'utf-8 est sensé prendre en charge ces commentaires non? :/
    Si le fichier a été codé en autre chose qu'utf-8...

    - W

  7. #7
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 609
    Points : 2 073
    Points
    2 073
    Par défaut
    Il y a moyen de joindre des pièces (fichier txt ou extrait) sur les posts.

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 428
    Points : 37 010
    Points
    37 010
    Par défaut
    Citation Envoyé par marco056 Voir le message
    Il y a moyen de joindre des pièces (fichier txt ou extrait) sur les posts.
    C'est ce qu'à fait le PO dans un de ses messages précédents: on y trouve un fichier encodé 8bits (latin-1 ou autre)... mais il semble persuadé qu'utf-8 est "magique".

    - W

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 14/02/2013, 14h08
  2. Problème chargement fichier avec CBitmapButton
    Par neonico dans le forum MFC
    Réponses: 2
    Dernier message: 03/12/2009, 15h53
  3. Problème chargement dll avec VC++ 2K8
    Par Tazadar dans le forum C++
    Réponses: 0
    Dernier message: 16/04/2009, 17h05
  4. Réponses: 2
    Dernier message: 01/08/2008, 13h56
  5. Problème de lecture de fichier .txt avec Flash
    Par cdevl32 dans le forum Flex
    Réponses: 0
    Dernier message: 25/05/2008, 18h35

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