我想在文件中找到“elevation”并将字符串更改为float,例如,我使用正则表达式查找“13804 feet”,并希望更改为[13804.0,“feet”],如果有“Sea level”,则应更改为[0.0,”]。我编写了以下函数,它适用于“13804英尺”的情况,但不适用于“海平面”
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)
事实上,我尝试了很长一段时间的“海平面”的情况(这是太混乱,所以我想我不会张贴错误的代码),但它不起作用。有人能帮我改进代码吗
目前没有回答
相关问题 更多 >
编程相关推荐