我正在从网站上提取文字,并希望将这些分数转换为小数。
分数在下标中,看起来像下面的
1.25,41/2
可以解决这个问题吗?
答案 0 :(得分:0)
试试这个:
dict = {
'¼':0.25,
'½':0.50,
}
def Convert(line):
return [int(word[:-1])+dict[word[-1]] if word[-1] in dict else int(word) for word in line.split(',')]
如果您有任何其他此类符号,只需将其添加到dict
。
答案 1 :(得分:0)
建立在@barak manos'想法,我会去寻找每一行中的所有字典键,并在网站上替换它们:
dict = {
'¼': '.25',
'½': '.50',
}
def convert(line, dict):
for x in dict:
line = line.replace(x, dict[x])
line = line.replace(' ' + dict[x], ' 0' + dict[x])
return line
a = '1¼ ½ 564as 25½'
print(convert(a,dict)) # returns: '1.25 0.50 564as 25.50'
您在句子中寻找的角色的位置和/或周围是否存在整数是无关紧要的。
答案 2 :(得分:-1)
您必须从文本中解析这些数字(依赖编码),使用示例某些解析器组合或类似。然后你可以计算小数。