【发布时间】:2022-09-24 00:33:33
【问题描述】:
我有一个 jupyter 笔记本(python),其中有 HTML 代码来显示部分,例如:
<div style=\"background-color: #1A079B; width:100%\" >
<h2 style=\"margin: auto; padding: 20px; color:#fff; \">1 - Test </h2>
</div>
我想要的是将此笔记本转换为 HTML。我在笔记本单元格中使用了这个命令:
!jupyter nbconvert $p1 --to html --output $p2
输出 HTML 文件已创建但完全错误。我认为转换不喜欢嵌入在markdown中的html。
我把整个代码都用了。它不是很可读,它是 ipynb 格式
{
\"cells\": [
{
\"cell_type\": \"markdown\",
\"id\": \"geographic-press\",
\"metadata\": {},
\"source\": [
\"<div style=\\\"background-color: #1A079B; width:100%\\\" >\\n\",
\"<h2 style=\\\"margin: auto; padding: 20px; color:#fff; \\\">1 - Test </h2>\\n\",
\"</div>\"
]
},
{
\"cell_type\": \"markdown\",
\"id\": \"allied-finish\",
\"metadata\": {},
\"source\": [
\"bla bla bla\"
]
},
{
\"cell_type\": \"markdown\",
\"id\": \"strong-estonia\",
\"metadata\": {},
\"source\": [
\"# first text\"
]
},
{
\"cell_type\": \"markdown\",
\"id\": \"aquatic-stopping\",
\"metadata\": {},
\"source\": [
\"<div style=\\\"background-color: #1A079B; width:100%\\\" >\\n\",
\"<h2 style=\\\"margin: auto; padding: 20px; color:#fff; \\\">2 - test </h2>\\n\",
\"</div>\"
]
},
{
\"cell_type\": \"code\",
\"execution_count\": 1,
\"id\": \"efficient-grass\",
\"metadata\": {},
\"outputs\": [],
\"source\": [
\"import os\"
]
},
{
\"cell_type\": \"code\",
\"execution_count\": 2,
\"id\": \"architectural-membership\",
\"metadata\": {},
\"outputs\": [],
\"source\": [
\"path_actuel = os.getcwd()+\'/documentation/test\'\\n\",
\"filename = \\\"test.ipynb\\\"\\n\",
\"output_name = \\\"test.html\\\"\"
]
},
{
\"cell_type\": \"code\",
\"execution_count\": 3,
\"id\": \"incomplete-above\",
\"metadata\": {},
\"outputs\": [
{
\"name\": \"stdout\",
\"output_type\": \"stream\",
\"text\": [
\"o path_actuel: /opt/continuum/project/documentation/test \\n\",
\"o filename: test.ipynb \\n\",
\"o output_name: test.html\\n\"
]
}
],
\"source\": [
\"print(\'o path_actuel:\', path_actuel, \'\\\\no filename:\', filename, \'\\\\no output_name:\', output_name)\"
]
},
{
\"cell_type\": \"code\",
\"execution_count\": 4,
\"id\": \"olympic-magnitude\",
\"metadata\": {},
\"outputs\": [],
\"source\": [
\"p1 = path_actuel+\'/\'+filename\\n\",
\"p2 = path_actuel+\'/\'+output_name\"
]
},
{
\"cell_type\": \"code\",
\"execution_count\": 5,
\"id\": \"fundamental-screening\",
\"metadata\": {},
\"outputs\": [
{
\"name\": \"stdout\",
\"output_type\": \"stream\",
\"text\": [
\"o p1: /opt/continuum/project/documentation/test/test.ipynb \\n\",
\"o p2: /opt/continuum/project/documentation/test/test.html\\n\"
]
}
],
\"source\": [
\"print(\'o p1:\', p1, \'\\\\no p2:\', p2)\"
]
},
{
\"cell_type\": \"code\",
\"execution_count\": 6,
\"id\": \"lesbian-pizza\",
\"metadata\": {},
\"outputs\": [
{
\"name\": \"stdout\",
\"output_type\": \"stream\",
\"text\": [
\"[NbConvertApp] Converting notebook /opt/continuum/project/documentation/test/test.ipynb to html\\n\",
\"[NbConvertApp] Writing 574385 bytes to /opt/continuum/project/documentation/test/test.html\\n\"
]
}
],
\"source\": [
\"!jupyter nbconvert $p1 --to html --output $p2\\n\",
\"# !jupyter nbconvert $p1 --to html --output $p2\\n\"
]
},
{
\"cell_type\": \"code\",
\"execution_count\": null,
\"id\": \"competitive-isolation\",
\"metadata\": {},
\"outputs\": [],
\"source\": []
}
],
\"metadata\": {
\"kernelspec\": {
\"display_name\": \"Python 3 [anaconda202011_py38]\",
\"language\": \"python\",
\"name\": \"anaconda-project-anaconda202011_py38-python3\"
},
\"language_info\": {
\"codemirror_mode\": {
\"name\": \"ipython\",
\"version\": 3
},
\"file_extension\": \".py\",
\"mimetype\": \"text/x-python\",
\"name\": \"python\",
\"nbconvert_exporter\": \"python\",
\"pygments_lexer\": \"ipython3\",
\"version\": \"3.8.5\"
}
},
\"nbformat\": 4,
\"nbformat_minor\": 5
}
如果有人有更正的想法!
-
您在哪里/如何渲染转换后的笔记本的 HTML 版本?你在这里看到的让我想起了this report。在那篇文章中链接了an issue,建议查看nbviewer如何处理它。但是,由于没有一致的结果,我并没有抱太大希望。Similar report here 以及,但是,那里并没有明确触发因素。
标签: html jupyter-notebook tags file-conversion