Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1540 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  liste des feuilles d'un fichier excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

liste des feuilles d'un fichier excel

n°2327670
kondor76
Posté le 15-01-2019 à 15:38:46  profilanswer
 

Bonjour,
 
Actuellement en train de coder un script ayant pour but d'extraire 2 feuilles d'un fichier excel pour les convertir en PDF, je suis confronté à un problème:
 
Une de mes feuilles porte un nom avec un "é" et lorsque je tente d'avoir la liste de feuilles de mon fichier j'ai l'erreur suivante:
 
UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 29: ordinal not in range(128)
 
J'ai vérifié, je suis en UTF-8 et c'est le terme "complémentaire" qui pose soucis.
 
J'ai beau chercher sur la toile je ne trouve pas de solution.....
 
Quelqu' un peut il au moins m'aiguiller?
 
Merci,
 
Cdt

mood
Publicité
Posté le 15-01-2019 à 15:38:46  profilanswer
 

n°2327678
masklinn
í dag viðrar vel til loftárása
Posté le 15-01-2019 à 17:45:27  profilanswer
 

T'es en Python 2 et t'essaies de convertir une valeur unicode en str, truc du style. Par défaut, une conversion unicode -> str va utiliser l'encodage ascii, dans lequel "é" n'existe pas.

 

Après sans avoir des infos utiles (genre une version réduite d'un cas de repro qui montre le problème) difficile d'être sûr, ya pas de magiciens dans le coin.

 

edit: les traceback complète c'est utile aussi, là encore ça donne des infos contextuelles.


Message édité par masklinn le 15-01-2019 à 17:47:32

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2327717
kondor76
Posté le 16-01-2019 à 08:44:14  profilanswer
 

Mon en python:
Python 3.6.1 |Continuum Analytics, Inc.| (default, May 11 2017, 13:09:58)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
 
Extrait de mon script:
#!/usr/bin/python
import xlrd
workbook = xlrd.open_workbook(path_file)
sheet_names = workbook.sheet_names()
print ("sheet Names: ",sheet_names)
 et quand je l'exécute j'ai l'erreur:
 
sheet Names:  Traceback (most recent call last):
  File "./PrintMyCRA.py", line 29, in <module>
    print ("sheet Names: ",sheet_names)
UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 60: ordinal not in range(128)
 
Pour une feuille qui s'appelle: "Prestations complémentaire"
 
Je voulais en fait faire la liste de feuilles pour justement voir comment le "é" apparaissait pour le coder dans mon script et sélectionner cette feuille la....
 
merci pour votre aide...
 
 
 

n°2327723
kondor76
Posté le 16-01-2019 à 10:41:06  profilanswer
 

J'ai résolu mon soucis en sauvant mon fichier .xlsm en encodage UTF8:
 
https://help.surveygizmo.com/help/en...tf-8-or-utf-16
 
Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  liste des feuilles d'un fichier excel

 

Sujets relatifs
Comment Modifier le contenu d'un fichier txt chaque jour par csvConsolidation d'une plage de cellules de X feuilles
Lier textbox excel avec une table accessPerl - Tableau associatif et liste
occurrenc d'un mot dans un fichierFichier JSON to string
[RESOLU]Excel calcul des jours de gardeEditeur de formule Excel
copier coller plusieurs feuilles dans une feuilleNotification sur smartphone quand un fichier sur PC est modifié
Plus de sujets relatifs à : liste des feuilles d'un fichier excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR