Как преобразовать строку с дробью для плавания в Python - PullRequest
0 голосов
/ 25 июня 2018

Я готовлю некоторые данные для вставки в MySQL. К сожалению, некоторые данные в форме 100½. Мне нужно преобразовать это в число с плавающей точкой, но, очевидно, float(100½) не удается.

Есть ли в Python метод, который может обработать это преобразование? Я не против жесткого кодирования чего-либо, но я могу столкнуться с или другими фракциями в будущем.

Ответы [ 2 ]

0 голосов
/ 28 июня 2018
from unidecode import unidecode
from fractions import Fraction
a = unidecode('100½').split()
print(float(int(a[0])+Fraction(a[1])))
0 голосов
/ 25 июня 2018
>>> float(sum(fractions.Fraction(x) for x in unidecode.unidecode('100½').split()))
100.5

fractions

unidecode

...