Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Python:从数据库输出到Folium的错误传输_Mysql - Fatal编程技术网

Mysql Python:从数据库输出到Folium的错误传输

Mysql Python:从数据库输出到Folium的错误传输,mysql,Mysql,我试图用Python从MySQL数据库中读取坐标,并用Folium在地图上重现它们 但我注意到43条记录中只有最后一条被输出并输入地图,我不知道为什么。 我有种感觉,我再也看不见树木了 也许你能帮我读出所有43个数据集 我有下面的完整代码,包括该代码输出的屏幕截图: import folium import mysql import mysql.connector mydb = mysql.connector.connect( host="localhost"

我试图用Python从MySQL数据库中读取坐标,并用Folium在地图上重现它们

但我注意到43条记录中只有最后一条被输出并输入地图,我不知道为什么。 我有种感觉,我再也看不见树木了

也许你能帮我读出所有43个数据集

我有下面的完整代码,包括该代码输出的屏幕截图:

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
变量中的内容吗?我同意@句子。只需将整个内容放在循环中,并在循环的最后关闭连接。谢谢你让我走上了正确的道路。我将完整地重复下面的代码