IPythonノートブックファイル(.ipynb
拡張子を持つjson)を通常の.py
モジュールに変換するにはどうすればよいですか?
ノートブックメニューから、ファイルをpythonスクリプトとして直接保存できます。メニューの[ファイル]オプションに移動し、[ダウンロード]を選択すると、[Python(.py)]オプションが表示されます。
別のオプションは、コマンドラインからnbconvertを使用することです。
jupyter nbconvert --to script 'my-notebook.ipynb'
ご覧ください こちら 。
https://ipython.org/ipython-doc/3/notebook/nbconvert.html によると、-toスクリプトオプションを指定したnbconvertコマンドを探しています。
ipython nbconvert notebook.ipynb --to script
要するに:このコマンドラインオプションはmynotebook.ipynb
をpython
コードに変換します:
jupyter nbconvert mynotebook.ipynb --to python
注:これは 上記 answerとは異なります。 ipython
はjupyter
に名前が変更されました。古い実行可能ファイル名(ipython)は非推奨です。
詳細:jupyter
コマンドラインにはnbconvert
引数があり、ノートブックファイル(*.ipynb)
を他のさまざまなファイルに変換できます。フォーマット。
同じコマンドで異なる--to
オプションを使用して、これらの形式のいずれかに変換することもできます。
同じコマンドjupyter nbconvert --to latex mynotebook.ipynb
詳細については、jupyter nbconvert --help
を参照してください。これには広範なオプションがあります。変換する前にコードを最初に実行したり、さまざまなログレベルのオプションなどを実行することもできます。
次のスクリプトを使用して、jupyter NotebookをPythonスクリプトに変換するか、コードを直接表示できます。
これを行うには、次の内容をファイルcat_ipynb
、次に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')
その後、使用することができます
cat_ipynb your_notebook.ipynb > output.py
または、vi
で直接表示します
cat_ipynb your_notebook.ipynb | view -