nbconvert
¶
- nbconvert
konvertiert Notebooks in andere Formate
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
$ eval "$(/usr/libexec/path_helper)"
$ brew install --cask mactex
Siehe auch
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. Python4DataScience/docs/workspace/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.