我有一个像这样的字符串的纬度和经度:
my_string ='(31.251, -98.877)'
我想用Python从上面的字符串中提取坐标。
问题在于,有时字符串的长度可变,因此有时可能看起来像(31.25134, -98.877)
或(31.25134, -98.877435)
。
因此,如果我执行my_string[9:15]
之类的操作来提取最后一个数字(经度),如果第一个数字(纬度)更长,我也会捕获')'并且这不好。
知道如何从该字符串中正确提取这些坐标吗? 谢谢!
答案 0 :(得分:12)
>>> ast.literal_eval('(31.251, -98.877)')
(31.251, -98.877)
答案 1 :(得分:9)
这个怎么样:
mystr = '(31.251, -98.877)'
lat, lng = map(float, mystr.strip('()').split(','))
应该在不考虑值的长度的情况下工作。
答案 2 :(得分:2)
(x, y) = (float(x) for x in my_string[1:-1].split(","))