You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jupyter Notebook中加载本地保存的Folium地图

如何在Jupyter Notebook中加载本地保存的Folium地图

嘿,我来帮你解决这个问题!针对你想在另一个Jupyter Notebook里加载本地保存的Folium地图的需求,我整理了两种实用的方案,不管是用HTML文件还是序列化对象都能轻松实现:

方法1:直接加载本地HTML文件

如果你已经用m.save('map.html')生成了HTML文件,那在另一个Notebook里可以借助IPython的显示模块直接渲染它,有两种方式可选:

方式A:用IFrame嵌入HTML文件

这种方式相当于把本地HTML文件嵌入到Notebook的单元格里,你可以自定义显示的宽高:

from IPython.display import IFrame

# 传入HTML文件路径,设置合适的宽高
IFrame(src='map.html', width=800, height=600)

方式B:读取HTML内容并渲染

如果你不想用嵌入框架,也可以直接读取HTML文件的内容,然后用HTML函数渲染:

from IPython.display import HTML

# 读取本地HTML文件内容
with open('map.html', 'r', encoding='utf-8') as f:
    map_content = f.read()

# 在单元格中渲染地图
HTML(map_content)

注意:如果你的目标Notebook和map.html不在同一个文件夹下,记得写对相对路径(比如src='../data/map.html')或者绝对路径哦。

方法2:序列化Folium地图对象(更灵活)

如果之后还想对地图进行编辑(比如添加标记、修改样式),推荐用pickle把地图对象序列化保存,这样加载后它还是一个完整的Folium Map对象,能继续操作:

第一步:保存地图为pickle文件

在生成地图的Notebook里执行:

import folium
import pickle

# 创建地图对象
m = folium.Map(location=[45.5236, -122.6750])

# 序列化保存到本地
with open('map.pkl', 'wb') as f:
    pickle.dump(m, f)

第二步:在另一个Notebook加载并显示

import pickle
from IPython.display import display

# 加载pickle文件中的地图对象
with open('map.pkl', 'rb') as f:
    loaded_map = pickle.load(f)

# 直接显示地图,还能继续编辑它哦
display(loaded_map)

# 举个例子:加载后添加一个标记
folium.Marker(location=[45.5236, -122.6750], popup='波特兰').add_to(loaded_map)
display(loaded_map)

这两种方法都能完美满足你的本地使用需求,不用把地图上传到网络就能在Jupyter里查看和操作啦~

备注:内容来源于stack exchange,提问作者Suraj Shourie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 14:32:59