25
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

VSCodeでJupyterなpyをipynbに変換するツール作った

概要

VSCodeのExtensionにJupyterをサポートするものがある。

これは#%%を書くことでCellとしてJupyterで実行できる優れものだが、.ipynbとして保存しておきたい場合には、#%%毎にブラウザ上のJupyterのCellにコピペする必要があり面倒である。

そこで、#%%が含まれる.pyから.ipynbに変換するツールを作った

具体的に言うと

hello.py
#%%
print("Hello")

#%%
print("World!!")

こんなpyがあったら

スクリーンショット 2017-06-16 16.57.56.png

こうなるipynbに変換する

ツール

これ->py2ipynb.py

なおnbformatが必要だが、pip install jupyterした時に一緒にインストールされるので別途必要になることはないはず

使い方

例えばhello.pyを変換したければ、引数として与えて実行するとhello.ipynbが同ディレクトリに生成される。

python py2ipynb.py hello.py

内部でやってること

結局のところ、pyを1行毎に読んでいって先頭に#%%があるかを見つけて、nbformat.v4.new_code_cell()しているだけなのでシンプル。

VSCodeのExtensionが#%%でCellだと区切っているようなのでそこを見ているだけ。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
25
Help us understand the problem. What are the problem?