Jupyter文件无法打开,如何找回其中的Python代码?
解决方案
一、尝试找回未保存的原代码
- 检查当前目录下的
.ipynb_checkpoints文件夹:Jupyter会自动创建检查点文件,里面可能存着你未手动保存的代码内容,直接打开该文件夹下的同名.ipynb文件即可。 - 若Jupyter内核仍在运行:打开Jupyter主页的「Running」标签,找到对应笔记本的内核,在终端执行
jupyter nbconvert --to script <笔记本文件名>,可直接将内核中的代码导出为.py文件(前提是内核未被重启)。
二、从大JSON文件中提取代码并修复笔记本
你下载的JSON文件本质就是Jupyter笔记本的原始格式(.ipynb文件本身就是JSON结构),体积过大是因为包含了大DataFrame的输出内容,处理方法如下:
方法1:清理输出后恢复笔记本
- 将下载的JSON文件扩展名改为
.ipynb - 在终端执行以下命令清理所有输出内容:
jupyter nbconvert --to notebook --ClearOutputPreprocessor.enabled=True --inplace 你的笔记本文件名.ipynb
- 重新打开该.ipynb文件即可正常访问代码。
方法2:直接提取代码为Python文件
如果只想找回代码,可运行以下脚本提取所有代码单元格内容:
import json # 替换为你的JSON文件路径 input_file = "下载的大文件.json" output_file = "找回的代码.py" with open(input_file, "r", encoding="utf-8") as f: nb_content = json.load(f) # 筛选所有代码单元格并拼接内容 recovered_code = "" for cell in nb_content["cells"]: if cell["cell_type"] == "code": recovered_code += "".join(cell["source"]) + "\n\n" with open(output_file, "w", encoding="utf-8") as f: f.write(recovered_code)
执行后会生成一个包含所有代码的.py文件,原代码的结构和注释都会保留。
内容的提问来源于stack exchange,提问作者user1884763
相关产品推荐
相关产品推荐

