nbconvert
#
- nbconvert
konvertiert Notebooks in andere Formate
Siehe auch
Jupyter Notebook installieren: nbconvert
ist Teil des Jupyter-Ökosystems.
Installation#
$ pipenv install nbconvert
Wichtig
Um alle Funktionen von nbconvert
nutzen zu können, sind Pandoc und TeX
(insbesondere XeLaTeX) erforderlich. Diese müssen separat installiert
werden.
Pandoc installieren#
nbconvert
verwendet Pandoc um Markdown in andere
Formate als HTML zu konvertieren.
$ sudo apt install pandoc
$ brew install pandoc
Tex installieren#
Für die Konvertierung in PDF verwendet nbconvert
das Tex-Ökosystem zur
Vorbereitung: Es wird eine .tex
-Datei erstellt, die von der XeTeX-Engine
in ein PDF konvertiert wird.
$ sudo apt install texlive-xetex
Verwenden auf der Kommandozeile#
$ jupyter nbconvert --to FORMAT mynotebook.ipynb
latex
erzeugt eine Datei
NOTEBOOK_NAME.tex
und ggf. Bilder als PNG-Dateien in einem Ordner. Mit--template
kann zwischen einem von zwei Vorlagen ausgewählt werden:--template article
Standard
Latex-Artikel, abgeleitet aus dem How-To von Sphinx
--template report
Latex-Bericht mit Inhaltsverzeichnis und Kapiteln
pdf
erzeugt ein PDF über Latex. Unterstützt die gleichen Vorlagen wie
latex
.slides
erstellt Reveal.js-Slides.
script
konvertiert das Notebook in ein ausführbares Skript. Dies ist der einfachste Weg, ein Python-Skript oder ein Skript in einer anderen Sprache zu erzeugen.
Bemerkung
Enthält ein Notebook Magics, so können dies möglicherweise nur in einer Jupyter-Session ausgeführt werden.
Wir können z.B. docs/ipython/mypackage/foo.ipynb in ein Python-Skript verwandeln mit:
$ pipenv run jupyter nbconvert --to script docs/basics/ipython/mypackage/foo.ipynb [NbConvertApp] Converting notebook docs/basics/ipython/mypackage/foo.ipynb to script [NbConvertApp] Writing 245 bytes to docs/basics/ipython/mypackage/foo.py
Das Ergebnis ist dann
foo.py
mit:#!/usr/bin/env python # coding: utf-8 # # `foo.ipynb` # In[1]: def bar(): return "bar" # In[2]: def has_ip_syntax(): listing = get_ipython().getoutput('ls') return listing # In[3]: def whatsmyname(): return __name__
Bemerkung
Um eine Zuordnung von Notebook-Cells zu Slides festzulegen, solltet ihr in
auswählen. Daraufhin wird in jeder Zelle oben rechts ein Menü angezeigt mit den Optionen: .Bemerkung
Für Vortragsnotizen ist eine lokale Kopie von reveal.js
erforderlich. Damit nbconvert
diese findet, kann folgende Option
angegeben werden: --reveal-prefix /path/to/reveal.js
.
Weitere Angaben für FORMAT
sind asciidoc
, custom
, html
,
markdown
, notebook
, und rst
.
nb2xls#
nb2xls konvertiert Jupyter-Notebooks
in Excel-Dateien (.xlsx
) unter Berücksichtigung von pandas DataFrames und
Matplotlib-Ausgaben. Die Eingabezellen werden jedoch nicht konvertiert und
Markdown nur zum Teil.
Eigene Exporter#
Siehe auch
Customizing exporters erlaubt euch, eigene Exporter zu schreiben.