Duplicata possible:
Comment utiliser Python pour convertir une chaîne en nombre s'il contient des virgules comme séparateurs de milliers?
Comment analyser la chaîne 1,000,000
(un million) dans sa valeur entière en Python?
>>> a = '1,000,000'
>>> int(a.replace(',', ''))
1000000
>>>
Il existe également un moyen simple de le faire qui devrait également gérer les problèmes d'internationalisation:
>>> import locale
>>> locale.atoi("1,000,000")
1000000
>>>
J'ai trouvé cependant que je dois d'abord définir explicitement les paramètres régionaux, sinon cela ne fonctionne pas pour moi et je me retrouve avec un triste retour à la place:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/locale.py", line 296, in atoi
return atof(str, int)
File "/usr/lib/python2.6/locale.py", line 292, in atof
return func(string)
ValueError: invalid literal for int() with base 10: '1,000,000'
Donc, si cela vous arrive:
>>> locale.setlocale(locale.LC_ALL, 'en_US.UTF8')
'en_US.UTF8'
>>> locale.atoi("1,000,000")
1000000
>>>
Remplacez le ',' par '', puis convertissez le tout en un entier.
>>> int('1,000,000'.replace(',',''))
1000000