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 :

UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9'


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Par défaut UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9'
    j'ai écris un code pour créer un fichier.txt sous MATLAB.
    et voilà le code que j'utilise:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    fid = fopen('Base.txt','w');
    compte=0;
    peau=0;
    nonpeau=0;
     
    fprintf(fid,'%s \t %s \t %s \t %s \n','H','S','V','classe');
     
     
    for f=1:10
     
        ImageReel  = imread(['BaseAppSelectionNum/',int2str(f),'.jpg'],'jpg');
     
        Masque = imread(['MasqueBaseAppSelectionNum/',int2str(f),'.jpg'],'jpg');
     
        s=size(ImageReel);
        m1=s(2)/2;
        ImageReel_hsv=rgb2hsv(ImageReel);
     
     
        for i=1:10
            for j=m1:520
                Masque(i,j);
                if Masque(i,j)==1
                    nonpeau=nonpeau+1;
                    classe='A';
                else
                    peau=peau+1;
                    classe='B';
                end
     
                ImageReel_h = double(ImageReel_hsv(i,j,1));
                ImageReel_s = double(ImageReel_hsv(i,j,2));
                ImageReel_v = double(ImageReel_hsv(i,j,3));
     
                fprintf(fid,'%f \t %f \t %f \t %s \n',ImageReel_h,ImageReel_s,ImageReel_v,classe);
     
                compte=compte+1;
            end;
        end;
     
    end
    fclose(fid);
     
     
    fclose(fid);
    Mais lors d'ouvrir ce fichier sur le logiciel Orange Canvas de datamining, il me donne cette erreur que j'ai pas comprise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Unhandled exception of type UnicodeEncodeError occured at 18:38:00:
    Traceback:
      File: orngSignalManager.py, line 61 in __call__
      Code: self.method(*k)
        File: OWFile.py, line 179 in browseFile
        Code: filename = str(QFileDialog.getOpenFileName(startfile, 
    self.dlgFormats, None, 'Open Orange Data File'))
          UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in 
    position 57: ordinal not in range(128)
    y-a-t'il quelqu'un qui peut m'aider à corriger cette erreur??
    j'ai posté ce problème sur le forum Matlab mais m'a conseillé de consulté le forum de Phyton
    et voici le lien de discussion:http://www.developpez.net/forums/d10...t/#post6036159

    donc comment je peux résoudre ce genre d'erreur?

  2. #2
    Membre Expert

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Par défaut
    Apparemment, ce Orange Canvas convertit les chaînes de caractères en ASCII, codage sur 7 bits qui ne supporte pas les lettres accentuées (0xE9, c’est tout simplement la lettre é).

    Donc, arrange-toi pour générer un Base.txt qui ne contienne aucun accent ou autre caractère «*exotique*» (peut-être dans de chemins ou noms de fichiers*?)

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Par défaut
    merci mont29 pour ta réponse, mais je n'est aucun accent ou autre caractère «*exotique*» dans mon fichier txt et tu peut vérifier ça avec le code matlab de la création du fishier txt fournis.

  4. #4
    Membre Expert

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Par défaut
    Bah, je connais pas trop Matlab ( c’est beau les litotes), mais a priori, en effet, rien qui génère des caractères accentués…

    En fait, à la relecture du log d’erreur, cette ligne*:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Code: filename = str(QFileDialog.getOpenFileName(startfile, self.dlgFormats, None, 'Open Orange Data File'))
    …me fais plutôt pencher vers un problème dans le chemin d’accès à ton fichier –*je serais prêt à parier (une boîte de chocolats ) qu’il y a un “é” quelque part (en 58eme position, au hasard ) dans ton chemin d’accès au fameux Base.txt*! Le cas échéant, il te faudra t’en débarrasser…

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Par défaut
    Oui mont29 t'as raison: le nom du dossier qui contient Base.txt contient un "é"

    Mais j'ai un autre problème que je pense c'est problème de mémoire insiffisant.
    combien la taille du fichier de caractristiques que supporte au max Orange Canvas??

Discussions similaires

  1. Réponses: 7
    Dernier message: 27/04/2014, 23h43
  2. UnicodeEncodeError: 'ascii' codec: problème classique mais…
    Par gvdmoort dans le forum Général Python
    Réponses: 3
    Dernier message: 03/04/2014, 21h10
  3. Réponses: 10
    Dernier message: 26/01/2013, 16h25
  4. UnicodeEncodeError: 'ascii' codec can't encode character
    Par WebTotoche dans le forum Général Python
    Réponses: 5
    Dernier message: 06/04/2011, 08h58
  5. 'ascii' codec can't decode byte
    Par Bibicmoi dans le forum Général Python
    Réponses: 5
    Dernier message: 28/08/2007, 23h15

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