web-dev-qa-db-fra.com

convertir json ipython notebook (.ipynb) en fichier .py

Comment convertir un fichier de cahier IPython (json avec l'extension .ipynb) en un module .py standard?

21
Nitesh Selkari

Dans le menu du bloc-notes, vous pouvez enregistrer le fichier directement en tant que script python. Allez dans l'option "Fichier" du menu, puis sélectionnez "Télécharger en tant que" et vous verrez alors une option "Python (.py)".

 enter image description here

Une autre option serait d’utiliser nbconvert à partir de la ligne de commande:

jupyter nbconvert --to script 'my-notebook.ipynb'

Regardez ici .

47
kikocorreoso

Selon https://ipython.org/ipython-doc/3/notebook/nbconvert.html vous recherchez la commande nbconvert avec l'option de script --to.

ipython nbconvert notebook.ipynb --to script
13
Kush131

En bref: Cette option de ligne de commande convertit mynotebook.ipynb en python code: 

jupyter nbconvert mynotebook.ipynb --to python

note: c'est différent de dessus de réponse. ipython a été renommé en jupyter. l'ancien nom de l'exécutable (ipython) est obsolète. 


Plus de détails: La ligne de commandejupyter a un argument nbconvert qui permet de convertir les fichiers de cahier (*.ipynb) en divers autres formats.

Vous pouvez même le convertir dans l’un de ces formats en utilisant la même commande, mais une option --to différente:

  • asciidoc
  • douane
  • html
  • latex. (Génial si vous voulez coller du code dans les documents de conférence/journal).
  • réduction
  • carnet
  • pdf
  • python
  • d'abord
  • scénario
  • diapositives. (Whooh! Convertir en diapositives pour une présentation facile ????)

la même commande jupyter nbconvert --to latex mynotebook.ipynb

Pour plus, voir jupyter nbconvert --help. Il existe de nombreuses options pour cela. Vous pouvez même exécuter le code avant la conversion, différentes options de niveau de journalisation, etc.

2
Srikar Appalaraju

Vous pouvez utiliser le script suivant pour convertir le cahier jupyter en script Python ou afficher le code directement.

Pour ce faire, écrivez le contenu suivant dans un fichier cat_ipynb, puis chmod +x cat_ipynb.

#!/usr/bin/env python
import sys
import json

for file in sys.argv[1:]:
    print('# file: %s' % file)
    print('# vi: filetype=python')
    print('')
    code = json.load(open(file))

    for cell in code['cells']:
        if cell['cell_type'] == 'code':
            print('# -------- code --------')
            for line in cell['source']:
                print(line, end='')
            print('\n')
        Elif cell['cell_type'] == 'markdown':
            print('# -------- markdown --------')
            for line in cell['source']:
                print("#", line, end='')
            print('\n')

Ensuite, vous pouvez utiliser 

cat_ipynb your_notebook.ipynb > output.py

Ou montrez-le avec vi directement

cat_ipynb your_notebook.ipynb | view -

0
Syrtis Major

eh bien tout d’abord, vous devez installer ce pack ci-dessous:

Sudo apt install ipython
jupyter nbconvert --to script [YOUR_NOTEBOOK].ipynb

deux options sont disponibles, soit --to python, soit --to = python le mien ressemblait à ceci:

jupyter nbconvert --to python while.ipynb 

[NbConvertApp] Conversion du bloc-notes while.ipynb en python [NbConvertApp] Écriture de 758 octets dans while.py

pip3 install ipython

si cela ne fonctionne pas pour vous essayer, par pip3.

pip3 install ipython
0
sebuhi