je cherche a supprimer les caractères accentués .
Le fichier est une fichier excel de typ xlsx.
Je lis le fichier sans aucune difficule par contre la supression des accents ne marche pas

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
# coding: utf-8  
import xlrd
import unicodedata
 
 
 
def net_text(src):
	# supresson des caracteres accentue
	src.encode(encoding='utf_8')
	le_text = unicodedata.normalize('NFD', src).encode('ascii', 'ignore') 
	le_text=  src.strip()
	le_text= le_text.replace(' ', '_') 
	le_text= le_text.replace('°̀', '_')
	le_text= le_text.replace('(̀', '_')
	le_text= le_text.replace(')̀', '_')
	le_text= le_text.replace(',̀', '_') 
	le_text= le_text.replace('?', '')
	le_text= le_text.replace(',̀', '_') 
	return le_text
	pass
 
# Base Application
if __name__ == '__main__':
 
 
	s = 'Découvrez tous les logiciels à télécharger'
	s.encode(encoding='utf_8', errors='strict') 
	print(s)
	s2 = unicodedata.normalize('NFD', s).encode('ascii', 'ignore')  
	print(s2) 
 
	# ouverture du fichier Excel
	wb = xlrd.open_workbook('decisionnelle.xlsx')
	# feuilles dans le classeur
	print("lecture du nom des feuilles")
	liste_des_feuilles =wb.sheet_names()
 
	#print(liste_des_feuilles)
	for la_feuille in liste_des_feuilles:
	# supresson des caracteres accentue
		la_classe =  net_text(la_feuille) 	    #constitution de la classe	
		la_classe = 'class ' + la_feuille + '(object): \n'
		#pour chaque feuille constituter la class
		print(la_classe)
 
		sh = wb.sheet_by_name(la_feuille)
		for rownum in range(sh.nrows):
			champ = sh.row_values(rownum)
 
			la_classe_def = '\tdef __init__():\n'
 
			la_classe_def += '\tpass\n'
			la_classe_charger = '\tdef charger(src):\n'
			la_classe_charger += '\tpass\n'
			# lecture des données dans la première feuille
 
 
		# cas de l'entete	
		sh = wb.sheet_by_name(u'entete')
		#for rownum in range(sh.nrows):
 
			#print(sh.row_values(rownum))
			# lecture par colonne
			#colonne1 = sh.col_values(0)# premiere colonne de la feuille
			#print(colonne1)


ma fonction net_text(src): ne supprimer pas les accents

voici ce quelle retourne

Découvrez tous les logiciels à télécharger
b'Decouvrez tous les logiciels a telecharger'
lecture du nom des feuilles

class Détail V1(object):

class Détail V2(object):

class Détail V3(object):

les feuilles du fichier excel sont

Détail V1
Détail V2
Détail V3

non seulement le caractères accentué n'est pas supprimer mais en plus la commande "le_text= src.strip().replace(' ', '_') " ne transforme pas l'espace en _

je veux obtenir

class Détail_V1(object):
class Détail_V2(object):
class Détail_V3(object):

mais non.

la fonction est base sur le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
	s = 'Découvrez tous les logiciels à télécharger'
	s.encode(encoding='utf_8', errors='strict') 
	print(s)
	s2 = unicodedata.normalize('NFD', s).encode('ascii', 'ignore')  
	print(s2)
ce code fonctionne mais pas le code de la fonction net_text(src):