Форум сайта python.su
0
Вопрос в следующем, через telnet получаю данные с GPS модуля, из строчки вырезаю широту и долготу, сохраняю это в переменные. Если пробую вывести одну переменную: print lan , то все выводится корректно, а как только начинаю с ней работать (математические действия), то выдает ошибку.
Например: lat1 = lat + 1
Ошибка:
TypeError: cannot concatenate ‘unicode’ and ‘float’ objects in <script> at line number 75
Как можно это исправить?? Может все таки нужно как то стринговую переменную в флоат перевести?
Заранее спасибо!
Офлайн
1
Вы сохраняете данные как int, float или str?
Офлайн
0
наверно глупый вопрос, но как это сделать?
я вытаскиваю из потока данных нужную строчку, а потом делаю так:
values = line.split(',')
if values == ‘$GPRMC’:
Lan = values
Lat = values
break
после этого пытаюсь работать с Lan. и выдает ошибку. как мне сохранить данные правильно??
Офлайн
568
какой тип values Вы надеетесь получить?
values = line.split(',')
Отредактировано FishHook (Июнь 4, 2013 09:50:59)
Офлайн
0
я получаю строчки из слов и цифровых данных, вот пример:
$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,,*10
отбираю нужную мне, по первому слову (GPRMC). дальше беру только числовые данные и мне нужно их потом использовать в расчетах.
Офлайн
0
извиняюсь, код скопировался как то не правильно.
data = tn.read_until("*") lines = data.split("\n") for line in lines: values = line.split(',') if values(0) == '$GPRMC': StartLan = values(3) StartLat = values(5) break
Отредактировано robot_chickn (Июнь 4, 2013 10:11:12)
Офлайн
568
robot_chicknпотому что код нужно оформлять в теги
квадратные скобки исчезают почему то. написал в круглых
[code python][/code]
Офлайн
0
понял, спасибо, как посоветуете решить данную проблему??
Офлайн
568
>>>я получаю строчки из слов и цифровых данных,
s="$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,,*10" print s.split(",")
['$GPRMC', '161229.487', 'A', '3723.2475', 'N', '12158.3416', 'W', '0.13', '309.62', '120598', '', '*10']
Офлайн
0
4я и 6я ячейки нужны мне, а точнее 3723.2475 и 12158.3416
мне нужно их сохранить как числовые переменные.
Офлайн