如何在Jupyter中让folium弹窗以字符串形式展示导入数据而非表格
问题
我从Excel加载了Malibu Beach、Commerce和Long Beach的数据,用于folium地图的弹窗展示。使用以下代码后,弹窗以表格形式显示,我希望将其改为字符串形式,请告知修改方法:
import folium import pandas as pd import io data = ''' Name A1 A2 A3 LAT LON "Malibu Beach" 0.63 0.55 0.95 34.03194 -118.698387 'Commerce' 0.17 0.45 0.25 34.00031 -118.159770 "Long Beach" 0.19 0.21 0.09 33.77171 -118.181310''' data = pd.read_csv(io.StringIO(data), delim_whitespace=True) map = folium.Map([data.LAT.mean(), data.LON.mean()],zoom_control=True,zoom_start = 9,scrollWheelZoom=True,tiles = "Stamen Terrain") for i in range(len(data)): html = data.loc[i,['Name','A1','A2','A3']].to_frame().T.to_html( classes="table table-striped table-hover table-condensed table-responsive") popup = folium.Popup(html, max_width=500) folium.Marker([data.iloc[i]['LAT'], data.iloc[i]['LON']],popup =folium.Popup(html, max_width=500),icon=folium.Icon(icon='cloud',color='darkblue')).add_to(map) map
修改方法
核心是把原代码中生成HTML表格的逻辑,换成手动拼接字符串的方式,直接构造弹窗需要的文本内容。
修改后的完整代码如下:
import folium import pandas as pd import io data = ''' Name A1 A2 A3 LAT LON "Malibu Beach" 0.63 0.55 0.95 34.03194 -118.698387 'Commerce' 0.17 0.45 0.25 34.00031 -118.159770 "Long Beach" 0.19 0.21 0.09 33.77171 -118.181310''' data = pd.read_csv(io.StringIO(data), delim_whitespace=True) map = folium.Map([data.LAT.mean(), data.LON.mean()],zoom_control=True,zoom_start = 9,scrollWheelZoom=True,tiles = "Stamen Terrain") for i in range(len(data)): # 提取当前行的字段值 name = data.iloc[i]['Name'] a1 = data.iloc[i]['A1'] a2 = data.iloc[i]['A2'] a3 = data.iloc[i]['A3'] # 拼接成目标字符串格式 popup_text = f""" 名称: {name} A1: {a1} A2: {a2} A3: {a3} """ # 创建字符串内容的弹窗 popup = folium.Popup(popup_text, max_width=500) folium.Marker([data.iloc[i]['LAT'], data.iloc[i]['LON']], popup=popup, icon=folium.Icon(icon='cloud',color='darkblue')).add_to(map) map
关键修改点
- 移除原代码中生成HTML表格的
to_frame().T.to_html()逻辑,改为直接提取每行的单个字段值 - 使用f-string拼接成你需要的分行字符串格式,每个字段单独占一行
- 初始化
folium.Popup时直接传入拼接好的文本字符串,不再传入HTML内容
这样弹窗就会以纯文本字符串的形式展示,符合你的需求。
内容的提问来源于stack exchange,提问作者White Angel
相关产品推荐
相关产品推荐

