1

Beaker Notebook を発見しました。私はコンセプトが大好きで、それを仕事に使用したいと切望しています。そのためには、自分のコードを他の形式で共有できることを確認する必要があります。

質問

純粋な Python を Beaker ノートブックに書いたとします。

  1. iPython Notebook/Jupyter でできるように、.py ファイルとして保存できますか?
  2. 純粋な R ビーカー ノートブックを作成した場合、同じことができますか?
  3. Python と R を使用して混合 (ポリグロット) ノートブックを作成した場合、R コードが存在するがコメントアウトされている Python などに保存できますか?
  4. 上記のどれも可能ではないとしましょう。Beaker Notebookファイルをテキストファイルで見ると、JSON形式で保存されているようです。Python、R などに対応するセルを見つけることもできます。上記の 1 ~ 3 を実行する Python スクリプトを作成するのはそれほど難しいことではないようです。何か不足していますか?

ありがとう!

PS - ビーカーノートのタグがない!? 悪い兆候...

4

1 に答える 1

1

エクスポートの基本を再現するのはそれほど難しくありません。

#' Save a beaker notebook cell type to a file
#' 
#' @param notebook path to the notebook file
#' @param output path to the output file (NOTE: this file will be overwritten)
#' @param cell_type which cells to export
save_bkr <- function(notebook="notebook.bkr", 
                     output="saved.py", 
                     cell_type="IPython") {

  nb <- jsonlite::fromJSON(notebook)

  tmp <- subset(nb$cells, evaluator == cell_type)$input

  if (length(tmp) != 0) {
    unlink(output)
    purrr::walk(tidyr::unnest(tmp, body), cat, file=output, append=TRUE, sep="\n")
  } else {
    message("No cells found matching cell type")
  }

}

Jupyter が「魔法」のことで何をしているのかわかりません (ノートブックの人々は、「魔法」のような名前でそれを真剣に受け止めることができます)。

これは大幅に拡張できますが、質問したことの基本が得られます。

于 2016-04-04T21:29:54.997 に答える