liste des feuilles d'un fichier excel - Python - Programmation
Marsh Posté le 15-01-2019 à 17:45:27
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.
Marsh Posté le 16-01-2019 à 08:44:14
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...
Marsh Posté le 16-01-2019 à 10:41:06
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
Marsh Posté le 15-01-2019 à 15:38:46
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