文章目录
- 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
备注:
html_toc
意味带目录(table of content),若要不显示目录,将该参数修改为html
即可;--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