将字符串更改为浮动列表

时间:2014-03-20 06:25:02

标签: python python-2.7

我想找到"海拔"在一个文件中并将字符串更改为float,例如,我使用正则表达式来查找" 13,804英尺"并希望更改为[13804.0,"脚"],如果有海平面',则应更改为[0.0,""] 。我写了以下函数,它适用于" 13,804英尺"情况,但它不适用于"海平面"

import locale
def elevationToFloat(x):
    elevation = []
    reNum = re.compile(r"""(?P<number>[-,0-9]+)\s+(?P<suffix>[a-zA-Z]+)?""")
    new = reNum.findall(x)
    for i in new:
        temp = i[0].replace(",", "")
        elevation.append(float(temp))
        elevation.append(i[1])
    return elevation

print elevationToFloat("-70,222 feet")  (it gives me [-70222.0, 'feet'])
print elevationToFloat("Sea level")     (does not work)

实际上我已经尝试了很长一段时间来处理海平面情况(这太糟了,所以我觉得我不会发错代码),但它不起作用。任何人都可以帮我改进我的代码

0 个答案:

没有答案