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 encodage symbole °


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Points : 6
    Points
    6
    Par défaut problème encodage symbole °
    Bonjour,

    voici mon problème:
    je récupère depuis un fichier texte *.txt des tas d'informations que je souhaite retravailler et réinjecter dans excel

    tout se passe normalement jusqu'à ce que j'arrive sur cette erreur :
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 192: ordinal not in range(128)

    en tripatouillant dans le fichier excel en sortie je me rends compte qu'il ne comprend pas le caractère suivant "°"

    n'y comprenant pas grand chose à ces histoires d'encodage et surtout à quel moment utiliser decode ou encode, auriez vous une solution ?

    merci

  2. #2
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Bonjour,

    As-tu initialiser un encodage sur ton code? Je te conseille l'utf-8.

    Sous linux, il faut ajouter cela en debut de code (ligne 1 & 2):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #! /usr/bin/env PYTHON
    # -*- coding: utf-8 -*-
    Sous windows:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    # -*- coding: utf-8 -*-
    Essaie et dis nous ce que cela donne. N'hesite pas à nous poster ton code egalement afin que l'on ai toutes les infos
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 290
    Points : 426
    Points
    426
    Par défaut
    Bonjour,

    Je fais l'hypothèse que vous êtes sous windows et que votre fichier source est encodé en iso-8859-1.

    Utilisez le module codecs.

    Ouvrez votre fichier en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f = codecs.open('mon_fichier.txt', 'r', 'iso-8859-1')
    Plus d'info ici.

    La réponse de deusyss vous sera nécessaire si vous utilisez des caractères non ASCII dans votre code (comme des caractères accentués). Attention toutefois : votre fichier source doit être enregistré selon l'encodage utf-8.

    Maîtriser les problématiques d'encodage des caractères est vraiment nécessaire pour un développeur, en particulier en Python : je vous conseille de creuser un peu le sujet.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par Drawingrom Voir le message
    Maîtriser les problématiques d'encodage des caractères est vraiment nécessaire pour un développeur, en particulier en Python : je vous conseille de creuser un peu le sujet.
    Ce n'est pas particulier a Python. Des qu'un fichier contient du "texte" - i.e. est autre chose qu'une suite d'octets - il faudra bien faire quelque chose pour "lire/écrire" son contenu en fonction de son "encoding".
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Problème encodage de certains caractères
    Par marieR dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 14/12/2006, 15h55
  2. Réponses: 4
    Dernier message: 28/09/2006, 20h20
  3. [DOM] Problème encodage
    Par spilliaert dans le forum Format d'échange (XML, JSON...)
    Réponses: 19
    Dernier message: 05/06/2006, 16h26
  4. Probléme encodage caractéres spéciaux MYSQL
    Par FoxLeRenard dans le forum Installation
    Réponses: 1
    Dernier message: 20/02/2006, 12h10
  5. Réponses: 1
    Dernier message: 02/02/2006, 23h12

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