我正在读取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'
有人有任何建议吗?
答案 0 :(得分:3)
您可以遍历列表,并在.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]]
答案 1 :(得分:0)
使用.split(“,”)而非.split(“,”)
(没有空格)
感谢Zero Piraeus的回答!