У меня есть довольно искаженный код, который почти создает материальную цену/книжку от Yahoo Finance для компаний (хороший модуль под названием ystockquote
получает нематериальную цену/книжку значение уже ).
Моя проблема в следующем:
Для одной из переменных в расчете акции в обращении Я получаю строки вроде 10,89B и 4,9M , где B и M обозначают соответственно миллиард и миллион . У меня возникли проблемы с преобразованием их в числа, вот где я нахожусь:
shares=''.join(node.findAll(text=True)).strip().replace('M','000000').replace('B','000000000').replace('.','') for node in soup2.findAll('td')[110:112]
Это довольно грязно, но я думаю, что это сработает, если вместо
.replace('M','000000').replace('B','000000000').replace('.','')
Я использовал регулярное выражение с переменными. Я предполагаю, что вопрос просто в том, какие регулярные выражения и переменные. Другие предложения тоже хороши.
Чтобы быть конкретным, я надеюсь иметь что-то, что работает для чисел с нулем, одним или двумя десятичными знаками, но все эти ответы выглядят полезными.