Mysql Python:从数据库输出到Folium的错误传输
我试图用Python从MySQL数据库中读取坐标,并用Folium在地图上重现它们 但我注意到43条记录中只有最后一条被输出并输入地图,我不知道为什么。 我有种感觉,我再也看不见树木了 也许你能帮我读出所有43个数据集 我有下面的完整代码,包括该代码输出的屏幕截图:Mysql Python:从数据库输出到Folium的错误传输,mysql,Mysql,我试图用Python从MySQL数据库中读取坐标,并用Folium在地图上重现它们 但我注意到43条记录中只有最后一条被输出并输入地图,我不知道为什么。 我有种感觉,我再也看不见树木了 也许你能帮我读出所有43个数据集 我有下面的完整代码,包括该代码输出的屏幕截图: import folium import mysql import mysql.connector mydb = mysql.connector.connect( host="localhost"
import folium
import mysql
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="",
database="firmen"
)
if(mydb):
print("Verbindung erfolgreich")
else:
print("Verbindung fehlgeschlagen")
cursor = mydb.cursor()
cursor.execute("SELECT * from leipzig")
result = cursor.fetchall()
cursor.close()
#13 = Longitude and 12 = Latitude
for data in result:
ID = data[0]
name = data[1]
lon = data[13]
lat = data[12]
mydb.close()
print("Verbindung geschlossen")
# Create a Map instance
mymap = folium.Map(location=[51.268360, 12.419357], tiles='stamentoner',
zoom_start=10, control_scale=True)
tooltipMeta = ID, name
folium.Marker([lon,lat], tooltip=tooltipMeta).add_to(mymap)
folium.TileLayer('stamenwatercolor').add_to(mymap)
folium.LayerControl().add_to(mymap)
# Display the map
mymap
句子和borisdonchev是正确的,其中
folium.Marker([lon,lat], tooltip=tooltipMeta).add_to(mymap)
应该成为
for data in result:
ID = data[0]
name = data[1]
lon = data[13]
lat = data[12]
tooltipMeta = ID, name
folium.Marker([lon,lat], tooltip=tooltipMeta).add_to(mymap)
我首先要创建地图,然后访问数据库 所以我设法在循环中创建了标记
import folium
import mysql
import mysql.connector
mymap = folium.Map(location=[51.268360, 12.419357], tiles='stamentoner',
zoom_start=10, control_scale=True)
folium.TileLayer('stamenwatercolor').add_to(mymap)
folium.LayerControl().add_to(mymap)
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="",
database="firmen"
)
if(mydb):
print("Verbindung erfolgreich")
else:
print("Verbindung fehlgeschlagen")
cursor = mydb.cursor()
cursor.execute("SELECT * from leipzig")
result = cursor.fetchall()
cursor.close()
mydb.close()
print("Verbindung geschlossen")
#13 = Longitude and 12 = Latitude
for data in result:
ID = data[0]
name = data[1]
lon = data[13]
lat = data[12]
tooltipMeta = ID, name
folium.Marker([lon,lat], tooltip=tooltipMeta).add_to(mymap)
# Display the map
mymap
您似乎正在覆盖for循环中的值。你能分享
result
变量中的内容吗?我同意@句子。只需将整个内容放在循环中,并在循环的最后关闭连接。谢谢你让我走上了正确的道路。我将完整地重复下面的代码