2014-09-12 4 views
0

Я читаю в списке координат из файла KML, давая мне этот выход:Как преобразовать список пар координат в строковой форме в список пар поплавков?

['-73.9972973,40.7075148', ..., '-73.9850235,40.7900946'] 

(представьте себе ... как много больше координат похож на первый и последний) Я использую следующий код, чтобы попытаться выполнить это, но он не будет работать.

manhattanCoords = [] 

for coord in coords: 
    pair = [float(s) for s in coord.strip().split(", ")] 
    manhattanCoords.append(pair) 

Я получаю следующее сообщение об ошибке:

Traceback (most recent call last): 
    File "Manhattan_Coords_Extract.py", line 12, in <module> 
    pair = [float(s) for s in coord.strip().split(", ")] 
    File "Manhattan_Coords_Extract.py", line 12, in <listcomp> 
    pair = [float(s) for s in coord.strip().split(", ")] 
ValueError: could not convert string to float: '-73.9972973,40.7075148' 

Кто-нибудь есть какие-либо предложения?

+2

Ваши строки не содержат '', '' (обратите внимание на пробел), поэтому их нельзя разбить. –

+0

Файл KML, который я читаю, аналогичен без пробелов, поэтому я не уверен, как читать его в противном случае. – jqwerty

+0

Если то, что вы разделили числа, является запятой и не имеет места, разбивается на запятую и не пробегает. –

ответ

0

Использование .split (" ") не .split (",")

(без пробела)

Благодаря Нулевой Пирея за ответ!

2

Вы можете проходить через ваш список, а .split() - ',' символов. Затем вы можете конвертировать их в float. В понимании списка это будет следующее.

l = ['-123.456,532.643', '245.234,241.678', '345.342,344.342'] 
coords = [map(float,i.split(',')) for i in l] 

>>> coords 
[[-123.456, 532.643], [245.234, 241.678], [345.342, 344.342]] 
+0

Это возвращает список объектов карты для меня? – jqwerty

+0

№ 'map' - это функция, которая означает« выполнить эту операцию для каждого члена списка », поэтому я использую ее для преобразования значений« string »в split' 'float'. Таким образом, возвращенный список 'coords' является' list' 'list'' float'. – CoryKramer

Смежные вопросы