Ответ 1
>>> a = '1,000,000'
>>> int(a.replace(',', ''))
1000000
>>>
Возможный дубликат:
Как использовать Python для преобразования строки в число, если в ней есть запятые как разделители тысяч?
Как бы я разобрал строку 1,000,000
(один миллион) в нее целочисленное значение в Python?
>>> a = '1,000,000'
>>> int(a.replace(',', ''))
1000000
>>>
Существует также простой способ сделать это, что также должно учитывать проблемы интернационализации:
>>> import locale
>>> locale.atoi("1,000,000")
1000000
>>>
Я обнаружил, что я должен явно установить локаль сначала, иначе это не сработает для меня, и вместо этого я получаю уродливую трассу:
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'
Итак, если это произойдет с вами:
>>> locale.setlocale(locale.LC_ALL, 'en_US.UTF8')
'en_US.UTF8'
>>> locale.atoi("1,000,000")
1000000
>>>
Замените ',' на '', а затем переведите все это в целое число.
>>> int('1,000,000'.replace(',',''))
1000000