我是Python编程的新手。我一直在'str'上得到以下错误。 当我添加+ str时,它没有用。
wkt = "POINT("+ geoPoint["lat"] +" " + geoPoint["lon"] + ")"
TypeError: cannot concatenate 'str' and 'float' objects
有关如何修复此错误的任何建议?
答案 0 :(得分:3)
最简单的解决方案如下:
wkt = "POINT("+ str(geoPoint["lat"]) +" " + str(geoPoint["lon"]) + ")"
以下内容更符合公认的Python风格标准:
wkt = "POINT(%f %f)" % (geoPoint["lat"], geoPoint["lon"])
这使用最简单的string formatting
形式你可以做更好的事情:
wkt = "POINT({lat} {lon}".format(**geoPoint)
请参阅链接页面以获取更多相关信息。
答案 1 :(得分:2)
无法将'str'和'float'连接到'+'
在python中连接字符串和float的最佳方法。使用格式函数:
wkt = "POINT({} {})".format(geoPoint["lat"], geoPoint["lon"])
也可以使用:
>>>wkt = "POINT(%s %s)" % (geoPoint["lat"], geoPoint["lon"])
>>>'s'+2 # use like this.It will raise type error exception
TypeError: cannot concatenate 'str' and 'float' objects
>>>'%s%s' % ('s', 2)
's2'
>>>'POINT({}{})'.format(geoPoint["lat"], geoPoint["lon"])
# It will print your value