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/decodage lors de la lecture du fichier et/ou de l’écriture.


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 93
    Points : 36
    Points
    36
    Par défaut Problème encodage/decodage lors de la lecture du fichier et/ou de l’écriture.
    Bonjour,

    Je rencontre un problème avec mon script python3, un problème sans doute déjà rencontrer par pas mal de monde.
    Il s'agit, je pense, d'un problème d'encodage des fichiers (le fameux encodage).

    Ce script fait parti d'un outil et le principal but de mon script est de parser un fichier texte pour en extraire des données et les enregistrer dans un fichier texte.
    Pour vous faire une idée du cheminement des données voici un rapide apperçu du déroulement
    1. Un script VBS convertit un document Word au format texte (à l'aide des fonctions incluses dans Word)
    2. Ce fichier, d'après la commande 'file' est encodé au format ISO-8859
    3. Le script python lit ce fichier, extrait les données et créer un nouveau fichier texte.

    Le hic c'est que, par exemple, dans mon document Word j'ai la phrase suivante:
    MON_TEXTE = "Ceci est un message"

    Dans le fichier temporaire, créer par le script VBS, j'obtiens:
    MON_TEXTE = "Ceci est un message"

    Après le traitement par python j'obtiens (au mieux):
    DISPLAY( ?Ceci est un message? )

    Extrait rapide de mon script python
    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
     
    # Read file
    contenu = list()
    with open( fichier_origine, 'r' ) as f:
        for line in f:
            contenu.append( line.strip() )   
     
    # Process
    extrait = list()
    for idx in contenu:
        s = idx.split( ' = ' )
        extrait.append( s[1] )
     
    # Write file
    with open( fichier_final, 'w' ) as f:
        for idx in extrait:
            f.write( "DISPLAY(" + idx + " )" )
    Le script ne tournera que sous environnement Windows et comme dit plus haut, en python3

    Merci pour votre aide.

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

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Bonjour,
    Tu as essayé ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    open('fichier_origine', 'r',encoding='latin1')
    Pas d'aide par mp.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 93
    Points : 36
    Points
    36
    Par défaut
    Bonjour,

    Je n'avais pas essayé latin1.
    Effectivement avec cela, mes " sont bien reconnus. Il faut que je pousse mes tests un peu plus loin, car le fichier générer est utilisé dans un logiciel tiers. Il me faut contrôler la chaîne jusqu'au bout.

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    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 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par beware Voir le message
    Je n'avais pas essayé latin1.
    Bonjour

    Si tu veux être certain, ouvre le fichier en question avec "notepad++". Il y a un indicateur en bas à droite qui donne l'encodage utilisé (ANSI/UTF-8)
    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]

Discussions similaires

  1. Problème d'accent lors de la lecture d'un fichier texte
    Par petit rabot dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 23/11/2017, 08h57
  2. [Débutant] Problèmes lors de la lecture de fichiers
    Par flo-1987 dans le forum WinRT
    Réponses: 2
    Dernier message: 15/02/2013, 16h00
  3. [Batch] Problème avec caractère ! lors d'une lecture de fichier pour extraction
    Par damsmut dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 20/11/2012, 16h21
  4. Problème de split lors d'une lecture d'un fichier csv
    Par Mawinette dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 25/03/2009, 11h48
  5. Problème encodage-decodage URL avec Java et Javascript
    Par alfreedd dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 27/04/2007, 12h11

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