Neatbo.

Notebook输出清理与源码恢复

清除本地nbformat 4 Notebook的输出和执行次数,保留单元源码、附件及元数据精确数字。

浏览器本地处理输入nbformat 4 Notebook输出清理IPYNB / 单元源码JSON / CSV单个文件最多 64 MiB · 最多 1 个
  1. 1添加输入
  2. 2调整设置
  3. 3获取结果

工具输入和文件在当前浏览器处理,不会上传。

输入内容

切换工具时在当前标签页临时保留输入。刷新或关闭后清除,较大的结果可能需要重新生成。

⌘ / Ctrl + Enter 运行

或将文件拖到这里

文件留在当前设备,原始文件不会被覆盖。

.ipynb · .json

单个文件最多 64 MiB · 最多 1 个

    0 个字符 · 0 字节
    处理选项

    先填写标记为必填的选项,其余可保留默认值。

    其他元数据和附件继续保留;这不是自动敏感信息清理。

    正在准备处理工具…

    开始之前

    从大量显示输出导致难以打开的Notebook中恢复代码。在不渲染保存输出的情况下删除它们,明确选择根widget状态策略,并下载清理副本及按单元索引的源码清单。

    如何使用

    1. 打开原始.ipynb而不渲染保存输出,或粘贴小份支持格式的Notebook。
    2. 选择是否清除根widget状态,核对输出删除数和执行次数重置数。
    3. 下载cleaned.ipynb与cell-sources.json,在Jupyter打开清理副本并核对源码/附件,再自行决定是否执行。

    支持范围与限制

    一份已选UTF-8 .ipynb文件最多64 MiB,或粘贴JSON最多8 MiB;已选文件优先。支持nbformat 4 minor 0–5,最多200000个JSON值、128层、10000个单元。全部下载合计最多10 MiB,表格显示前200个单元。保留的大量源码、附件或元数据仍可能超过输出预算。

    支持代码、Markdown和raw单元,以及保存的stream/error/display_data/execute_result输出。校验结构字段、minor 5唯一ID、source表示和已知元数据字段;重复JSON键、新版单元/输出类型、未知结构扩展与不支持格式版本拒绝。自定义元数据继续作为数据保留。 拼接单元源码的孤立代理码元会拒绝,避免UTF-8哈希默默替换内容。

    将每个代码单元的outputs清为空数组、execution_count设为null。显式选项只控制根metadata.widgets。保留source字符串/字符串数组表示、单元顺序、ID、CRLF/中文、Markdown/raw附件、其他元数据与原始大整数/小数token。JSON排版会改变,不覆盖原文件。

    不渲染MIME、不运行脚本或单元、不启动内核、不自动去除个人信息。保留的源码、附件、执行时间/信任/自定义元数据可能仍含敏感内容。单元源码JSON保留准确source表示及其拼接后UTF-8 SHA-256,不声称Notebook已经运行或测试通过。

    操作示例

    示例输入

    {"nbformat":4,"nbformat_minor":5,"metadata":{"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"id":"hello","cell_type":"code","metadata":{},"source":["print(\"hello\")\r\n"],"execution_count":1,"outputs":[{"output_type":"stream","name":"stdout","text":["hello\n"]}]}]}
    示例参数
    {"secondary":"","params":{"spreadsheetSafe":true,"removeWidgets":true}}

    示例输出

    {
      "cells": 1,
      "codeCells": 1,
      "removedOutputs": 1,
      "resetExecutionCounts": 1,
      "widgetPolicy": "remove root metadata.widgets",
      "removedWidgetState": false,
      "inputBytes": 288,
      "cleanedBytes": 232,
      "jsonValues": 21,
      "nbformat": 4,
      "minor": 5,
      "cellReport": [
        {
          "index": 0,
          "type": "code",
          "id": "hello",
          "sourceBytes": 16,
          "sourceSHA256": "f697fb888d89d576cf3e8aecc33581d8c8117b02b2736d55b1e39f85de6c837c",
          "removedOutputs": 1,
          "executionCountReset": true
        }
      ]
    }

    出现问题时

    使用完整nbformat 4 minor 0–5文件、有效单元、minor 5唯一ID及支持输出。回到原工具修正重复键或字段错误;保留内容超过预算时,有意识地拆分并维护必要单元关系。取消后可用未改动原文件或较小有效文件重跑。

    常见问题

    源码会被删除或执行吗?

    不会。source保留原字符串或字符串数组,工具不渲染Notebook MIME数据、不执行单元、不启动内核。

    清除输出会清除所有秘密吗?

    不会。代码、附件及保留的元数据可能含秘密。widget选项只删除根metadata.widgets,其他执行时间、信任及自定义元数据仍保留。

    为什么64 MiB输入仍可能超过输出限制?

    预算包含清理Notebook、源码恢复清单及报告。保留大量代码、附件或元数据可能使下载合计超过10 MiB;失败没有部分下载。

    文档与延伸阅读

    相关工具