首页 前端知识 Jupyter Notebook输出Html,隐藏代码

Jupyter Notebook输出Html,隐藏代码

2024-05-12 00:05:19 前端知识 前端哥 998 967 我要收藏

文章目录

  • 1.导出文件时可隐藏代码
  • 2.Jupyter Notebook输出Html,隐藏笔记本输入单元格代码
    • 方法一:
    • 方法二:
  • 3.导出HTML文件
    • a.执行notebook,将结果保存为 .html
    • b.带目录且不显示源代码
    • c.执行notebook文件,设置超时时间

将jupyter-notebook导出为一个报告或者presentation的形式,不需要显示代码过程,只需要显示结果以及用markdown做的解释说明.

1.导出文件时可隐藏代码

在自己编辑notebook时不起作用,对导出结果中所有代码起作用:导出html或者pdf中没有代码

from IPython.display import display
from IPython.display import HTML
import IPython.core.display as di
di.display_html('<script>jQuery(function() {if (jQuery("body.notebook_app").length == 0) { jQuery(".input_area").toggle(); jQuery(".prompt").toggle();}});</script>', raw=True)
CSS = """#notebook div.output_subarea {max-width:100%;}""" #changes output_subarea width to 100% (from 100% - 14ex)
HTML('<style>{}</style>'.format(CSS))

2.Jupyter Notebook输出Html,隐藏笔记本输入单元格代码

方法一:

执行,即可在该文档中使用“隐藏/显示”输入单元格功能。
缺陷:此方法不能很好的适用于Markdown单元格。

from IPython.display import display
from IPython.display import HTML
import IPython.core.display as di # Example: di.display_html('<h3>%s:</h3>' % str, raw=True)

# 这行代码的作用是:当文档作为HTML格式输出时,将会默认隐藏输入单元格。
di.display_html('<script>jQuery(function() {if (jQuery("body.notebook_app").length == 0) { jQuery(".input_area").toggle(); jQuery(".prompt").toggle();}});</script>', raw=True)

# 这行代码将会添加“Toggle code”按钮来切换“隐藏/显示”输入单元格。
di.display_html('''<button οnclick="jQuery('.input_area').toggle(); jQuery('.prompt').toggle();">Toggle code</button>''', raw=True)

方法二:

适用于Markdown单元格

from IPython.display import HTML
 
HTML('''<script>
code_show=true; 
function code_toggle() {
 if (code_show){
 $('div.input').hide();
 } else {
 $('div.input').show();
 }
 code_show = !code_show
} 
$( document ).ready(code_toggle);
</script>
<form action="javascript:code_toggle()"><input type="submit" value="点击隐藏或者显示代码"></form>''')

3.导出HTML文件

运行代码后,将会在同一文件夹下生成一个名为notebook.html的文件

a.执行notebook,将结果保存为 .html

jupyter nbconvert --to html notebook.ipynb

b.带目录且不显示源代码

jupyter nbconvert --to html_toc --no-input notebook.ipynb

备注:

  1. html_toc意味带目录(table of content),若要不显示目录,将该参数修改为html即可;
  2. --no-input 意为不显示源代码,若要显示源代码,将该参数删除即可;

c.执行notebook文件,设置超时时间

jupyter nbconvert --to html --ExecutePreprocessor.allow_errors=True  --ExecutePreprocessor.timeout=-1 --execute notebook.ipynb

官方文档:
https://pandas.pydata.org/pandas-docs/stable/user_guide/style.html

转载请注明出处或者链接地址:https://www.qianduange.cn//article/8217.html
标签
idejupyter
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!